您如何与源代码一起在SCM中维护Jenkins作业配置?
随着源代码的发展,作业配置也随之发展。能够将作业配置保留在SCM中是理想的,因为有以下好处:
我看到有一个Jenkins Job Builder插件。我更喜欢按照Travis CI的解决方案,在该解决方案中,作业配置保存在YAML文件(.travis.yml)中。有什么好的建议吗?
注意:我们的大多数项目都使用Java和Maven。
2016年更新: Jenkins现在提供了一个Jenkinsfile来提供此功能。这得到了詹金斯核心开发人员的支持并积极开发。
好处:
创建Jenkinsfile(已检入源代码管理)可带来许多直接好处:
- 管道上的代码审查/迭代
- 管道的审计跟踪
- 管道的单一事实来源,可以由项目的多个成员查看和编辑。
我写了一个插件来做到这一点!
除了我的插件外,现有的Jenkins插件还有一些(有限)选项:
如果您将Jenkins配置为仅运行:
$ bash run_tests.sh
然后,您可以将run_tests.sh
文件检入SCM存储库,并且现在正在跟踪运行测试方式的更改。但是,这不会跟踪任何插件的配置。
同样,如果您使用的是Maven,则Maven项目插件只需为您的存储库运行指定的目标。
在识字的插件确实允许詹金斯在README.md运行的命令,但它尚未被释放。
您可以使用SCM Sync配置插件将配置更改写入SCM,因此至少要有一个永久记录。这是Jenkins实例上所有项目中的全局项目。
还有一个作业配置历史记录插件,它在文件系统上存储配置历史记录。
您提到的Jenkins Job Builder项目可让您将配置更改检入SCM,并将其应用于您的Jenkins实例。同样,这涉及您Jenkins实例上的所有项目。
您可以将Job DSL插件与常规脚本回购结合使用。然后,詹金斯(Jenkins)轮询该仓库,执行常规脚本,从而创建作业配置。
发行版996(现已关闭)对此进行了讨论,并且也在邮件列表中进行了讨论:“跟踪Hudson的配置更改”和“将hudson config保存在svn中”。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句