2017-11-06 6 views
0

私は、使用されているレポを除いて同じ2つのJenkinsプロジェクトを持っています。 Jenkinsは、両方のターゲットと異なるターゲットを使用してAntビルドを実行しています。(ほとんど)同一のJenkinsプロジェクトが1つ、失敗しました

2つのターゲットは、別のブランチを参照する以外は文字通り同じものです。 1つのプロジェクトが動作し、その他のエラーが発生します。これで

失敗プロジェクトのエラーは:

[exec] bash: /dev/tty: No such device or address 
[exec] error: failed to execute prompt script (exit code 1) 
[exec] fatal: could not read Password for 'https://****@git.ersp.net': No error 
[exec] Result: 128 

私はこの問題を見てきたし、私は見つけることができますなどなどアトム、Winpty、として使用されている他のユーティリティツールに関する表示されます...私たちは、ですを使用していますが、です.bashを使用しています。

bashがユーザ名とパスワードを要求できないのは、Jenkinsから提供されています(両方のプロジェクトが同じです)。

私はJenkinsで自分の資格情報を更新しましたが、それが問題ではないことを確認しました。最初のプロジェクトは引き続きになり、秒はに失敗し続け、同じ資格情報を使用します。

Antターゲット

<!-- RELEASE GIT --> 
<target name="update-release-git">  
    <exec executable="C:\Program Files\Git\cmd\git.exe"> 
     <arg value="-C" /> 
     <arg value="${testing-release}" />   
     <arg value="checkout" /> 
     <arg value="${BRANCH}" /> 
    </exec> 
    <exec executable="C:\Program Files\Git\cmd\git.exe"> 
     <arg value="-C" /> 
     <arg value="${testing-release}" />   
     <arg value="fetch" /> 
    </exec> 
</target> 

<!-- EPIC1 GIT --> 
<target name="update-epic1"> 
    <exec executable="C:\Program Files\Git\cmd\git.exe"> 
     <arg value="-C" /> 
     <arg value="${testing-epic1}" />    
     <arg value="checkout" /> 
     <arg value="${BRANCH}" /> 
    </exec> 
    <exec executable="C:\Program Files\Git\cmd\git.exe"> 
     <arg value="-C" /> 
     <arg value="${testing-epic1}" />    
     <arg value="fetch" /> 
    </exec> 
</target> 

EPIC1作品RELEASEはそうではありません。彼らは同じリポジトリの両方のクローンであり、別々のブランチを使用しています。

ありがとうございます、ありがとうございます!

明確にするために、ジョブは独立して実行されることを意図しています。

資格情報は、Jenkins Credentials Managerを介して渡されます。 ソースコード管理> Gitでrepo urlを選択すると、すでにJenkinsに追加されている利用可能な資格情報の選択オプションになります。

+0

注文、最初EPIC1とRELEASEを変更した場合どうなりますか?どのようにあなたがANTに資格情報を渡すのですか? –

+0

同じ問題を生じさせていないようですが、背中合わせに実行されないようにするために、別々に実行することを意図しています。 –

答えて

0

あなたが不自然なビルドスクリプトとソースコントロールを混在させると、あなたはいつも悪い時を過ごすでしょう。

ジーンズがgitからチェックアウトを処理させます。常に。 もしあなたの作業スクリプトをmuckingしている場合は、ジェンキンズがチェンジセットを表示する能力が邪魔になります。チェンジセットを表示すると、そのビルドにコミットした人や最後に成功した人に通知することができなくなります。また、ブランチ上でビルドスクリプトを変更したときの混乱(スクリプトの開始後にブランチが変更されたときに動作しない場合の混乱)

パスワードをスキップしてsshキーを使用して認証する方が簡単かもしれませんあなたはgitのにアウトのexecしようとして停止した後。

うまくいけば、あなたは良い場所になるでしょう。

関連する問題