詹金斯与共享工作

时间:2017-03-07 23:41:50

标签: jenkins

我正在和Jenkins合作,我们有很多项目都使用相同的任务,即我们设置一些变量,更改版本,恢复包,启动sonarqube,构建解决方案,运行单元/集成测试,停止sonarqube等。唯一的区别就是{Solution_Name},其他一切都完全一样。

我的问题是,有没有办法创建1'共享' job,完成所有工作,而构建项目的工作将变量传递给共享工作者作业。我正在寻找的是不必为我们所有服务/组件创建所有任务的能力。如果我们的每个服务/组件只能有2个任务,一个用于设置变量,另一个用于运行共享作业,那真是太好了。

这可能吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以通过将新管道作为代码功能进行查看而获益。

https://jenkins.io/doc/book/pipeline/

使用此模式,您可以在groovy脚本中定义构建管道,而不是jenkins的UI。然后将此脚本保存在它构建的项目的代码库中,该文件名为Jenkinsfile。

通过将此管道检入git存储库,您可以在jenkins端创建一个最小配置,并简单地告诉它查看特定的repo并执行管道要执行的操作。

如果适用于您的设置,这种方法有一些好处。最重要的一点是,您的构建管道将完全版本化,就像它构建的项目一样。只要安装了管道插件,存储库就变得可移植,可以轻松地在任意数量的jenkins安装上构建。