我正在尝试遵循 Koshuke 的一种方法,通过在 cludbees dev@cloud 上使用工作促进来组织我的构建。在他的演示文稿中,一切都像一个魅力(除了从他自己部署在 localhost 上的 Jenkins 实例运行他的示例和我在 dev@cloud 中运行 jenkins 作业)。
基本上我有几个工作,我的主要工作称为文件夹喜悦中的包定义了名为“promotion-to-e2e-testing”的提升过程(标准是完成一项下游工作并且没有为提升定义额外的操作)。从詹金斯仪表板我可以看到这次促销是成功的。然而,一个工作(在文件夹joy中称为e2e-testing)被配置为触发器“在提升另一个项目时构建:工作名称:“joy/package”,促销:“promotion-to-e2e-testing”没有被解雇!
我查看了 jenkins 系统日志(通过 cloudbees 管理 Jenkins 链接),我可以看到:
May 20, 2013 6:04:33 AM hudson.remoting.SynchronousCommandTransport$ReaderThread run SEVERE: I/O error in channel s-8770fc61
java.io.IOException: Unexpected termination of the channel
athudson.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 20, 2013 6:04:26 AM hudson.model.Run execute
INFO: joy » package » promotion » promotion-to-e2e-testing #5 main build action completed: SUCCESS
May 20, 2013 6:04:26 AM hudson.slaves.WorkspaceList log
FINE: Executor #0 for s-8770fc61 : executing joy » package » promotion » promotion-to- e2e-testing #5 acquired /scratch/jenkins/workspace/joy/package
May 20, 2013 6:04:25 AM hudson.slaves.ChannelPinger setUpPingForChannel
通过从底部到顶部读取,似乎 SynchronousCommandTransport 在成功提升后被抛出。为了确保抛出异常不是易变的,我已经运行了几次我的工作,但仍然在日志中看到相同的异常,并且我的 e2e 测试工作没有被解雇。
任何人都可以帮助我吗?也许在 cloudbees 上无法通过晋升来触发工作?或者可能是因为我的工作存储在 jenkins 文件夹中(所有工作都在一个文件夹中)?