2017-02-16 104 views

回答

1

这可以通过许多方式完成。一种方法是将作业A配置为具有构建步骤,触发作业B,并在作业B完成后获取文档中的变量。然后作业A可以读取这些变量并在后面的步骤中使用它们。

虽然有几件事情需要考虑。首先,这要求作业B在作业A可以/应该继续之前完成,因此如果您想要并行作业执行,这并不理想。其次,在处理env变量时,您需要一个插件来使构建步骤之外的变量可用(导出不够),请查看EnvInject插件。第三,如果工作配置变得复杂,那么可能会有更好的方法。通过使用Jenkinsfile和以前的流水线插件,Job编排得到了很大改善,并且在这个新的闪亮的世界中传递参数并且更容易。话虽如此,以下是一些与你所问的内容相似的例子。

作业A

  1. 作为构建步骤,触发作业B,并且让作业A停止而作业B完成

  2. 作为下一个生成步骤,从另一个构建复制的伪影(Job B最新稳定版),使用Copy Artifact Plugin

  3. 做一些事情的文件,例如只是打印它的内容,它现在在工作A.访问

作业B

  • 导出变量并将其保存到文件

  • 将写入的文件归档并使作业A可访问。

  • 这并不美观,但它至少起作用。

    P.s.我建议查看Jenkinsfile(https://jenkins.io/doc/book/pipeline/jenkinsfile/)选项,它在初始学习曲线之后简化了很多。

    +0

    由于我无法将图片添加到我的文章中,因此这里是Github Gist,其中包含这些配置的内嵌图像。 https://gist.github.com/arnlaugsson/657387b6f206b2b65f2d0e2473c4e3d5 –

    相关问题