1

我的问题是Cloudbees jenkins 的一些延续不会触发促销工作。回顾一下:我在 cloudbees 上使用 jenking。我有一个名为“包”的工作,有几个晋升过程。第一个升级过程“升级到e2etesting”配置为:名为“testing”的作业成功运行后升级。“测试”配置为“打包”作业的下游作业(构建构建后操作部分的其他项目)。这个提升效果很好,一旦执行“提升到 e2etesting”,就会触发一个名为“e2e-testing”的新工作。

我的“打包”工作还有其他推广过程,其中一个被命名为“升级到登台”,标准是:“当以下下游项目成功构建时:e2e-testing”。不幸的是,在成功完成“e2e-testing”(由“promote to e2etesting”触发)后,“promotion-to-staging”不会发生。

在“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 回答