1

私の質問は、Cloudbees jenkins の継続がプロモーションのジョブをトリガーしないということです。要約すると、私は cloudbees で jenking を使用しています。いくつかのプロモーション プロセスを含む「パッケージ」という名前のジョブがあります。最初の昇格プロセス「e2etesting への昇格」は、「testing」という名前のジョブが正常に実行された後に昇格するように構成されています。「テスト」は、「パッケージ」ジョブ (ビルド後のアクション セクションの他のプロジェクトのビルド) の下流ジョブとして構成されます。この昇格はうまく機能し、「e2etesting への昇格」が実行されるとすぐに、「e2e-testing」という名前の新しいジョブが開始されます。

私の「パッケージ」ジョブには他の昇格プロセスがあり、そのうちの 1 つは「ステージングへの昇格」という名前で、「次のダウンストリーム プロジェクトが正常にビルドされたとき: e2e-testing」という基準があります。残念ながら、「e2e-testing」(「e2etesting への昇格」によってトリガーされる) が正常に完了した後、「ステージングへの昇格」は行われません。

「e2e-testing」ジョブ コンソール出力で、次の内容を確認できます。

WARNING: package appears to use this job as a promotion criteria, but no fingerprint is    
recorded. Fingerprint needs to be enabled on both this job and package. 
See http://hudson.gotdns.com/wiki/display/HUDSON/Fingerprint for more details

警告が私の問題に関連しているかどうかはわかりませんが、「ファイルのフィンガープリントの記録...」が「e2e-testingジョブ」と「パッケージ」ジョブ(mavenジョブ)で有効になっているため、奇妙です)すぐに使用できるようになっているようです-「パッケージ」ジョブによって構築されたアーティファクトの「パスポートアイコン」をクリックすると、他のジョブでの使用状況を確認できます。

ジェンキンスのログで私は見ることができます:

SEVERE: I/O error in channel s-74638b6e 
java.io.IOException: Unexpected termination of the channel at
hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:50)
Caused by: java.io.EOFException
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at hudson.remoting.Command.readFrom(Command.java:92)
at hudson.remoting.ClassicCommandTransport.read(ClassicCommandTransport.java:59)
at  hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:48)
May 24, 2013 3:43:31 AM hudson.model.Run execute
INFO: e2e-testing #10 main build action completed: SUCCESS
May 24, 2013 3:43:19 AM hudson.slaves.WorkspaceList log
FINE: Executor #0 for s-74638b6e : executing e2e-testing #10 acquired /scratch/jenkins/workspace/e2e-testing
May 24, 2013 3:43:14 AM hudson.model.Run execute
INFO: package » promotion » promotion-to-e2e-testing #10 main build action completed: SUCCESS

何か案が?

4

1 に答える 1

0

e2e-testing設定されたダウンストリーム ジョブである必要はありませんpackage(つまり、ビルド後のアクションとして直接開始されます) が、フィンガープリントによって識別されるビルド間にダウンストリームの関係が存在する必要があります。つまり、 の (成功した) ビルドのe2e-testing一部は、 のビルドによって生成されたアーティファクトのフィンガープリントと一致する入力アーティファクトのフィンガープリントを記録する必要がありpackageます。その場合、promotion-to-stagingのそのビルドでトリガーする必要がありpackageます。

表示された警告メッセージから、e2e-testingが指紋を記録していないか、指紋を記録しているが によって生成されたアーティファクトと一致するものがなかったと思われpackageます。これを確認するには、成功したビルドのフィンガープリントリンクを参照しe2e-testing、予想されるアーティファクトがリストされていることを確認してから、そのアーティファクトの詳細をクリックして、packageビルドによって「生成された」ものとしてリストされていることを確認します。

于 2013-05-24T12:48:07.753 に答える