Jenkins:使用种子作业和Jenkinsfile实现自动化作业配置

问题描述:

我想了解如何最好地部署Jenkins实例,完成插件,用户和使用厨师的作业。我目前使用Chef Jenkins Supermarket cookbookJenkins:使用种子作业和Jenkinsfile实现自动化作业配置

我试图实现我们管道的自动部署作为项目的一部分。从我所收集的信息来看,最好的办法是让Chef在Jenkins初始设置和配置中配置种子作业。

种子作业应指定(除其他外)从其中找到并使用Jenkinsfile作为给定作业的git存储库。我发现this resource by Daniel Spilker有助于解释种子工作。

因此,种子詹金斯的工作将运行,然后将生成詹金斯的工作,我们刚刚脚本与它(在这种情况下,种子工作将从源代码管理拉Jenkinsfile和配置一个新的詹金斯工作(我们管道),以及Jenkinsfile的细节)。

我是否正确理解这种正确的方式,不仅可以自动化Jenkins作业配置,而且还可以作为在作业配置发生变化的情况下始终为任何给定作业提供最新作业配置的正确方法?

如果我们使用种子作业来设置我们的管道,一旦Jenkins由Chef完全配置后,有什么可能的解决方案让初始种子作业自动运行?

对于随着时间的推移可能发生的作业配置更改,我们是否需要设置种子作业,以在詹金斯文件被修改的情况下定期对Jenkinsfile中的任何更改进行轮询源控制? (注意我们目前使用BitBucket进行源代码控制可能会有所帮助)。

刚刚开始使用管道作为代码。感谢大家提前给予的耐心和指导。

我已经在你的其他问题中提到了这一点,但最痛苦的方法是把詹金斯视为数据库而不是Web服务。让厨师进行基本安装,然后手动配置最初的位。对于DR,依靠您的备份而不是厨师。

+0

感谢您的回答coderanger。所以你最初的想法是配置Java,Jenkins,Jenkins插件,Jenkins Admin User,并且在厨师部署Jenkins并使用Web UI进行设置后,将所有作业配置保留为手动过程?另外,jw你指的是'DR'究竟是什么? – J0991

+0

DR =灾难恢复。此外,使用jenkins作业配置的厨师可以使真正长的厨师跑。 – chicks

+0

我不同意。詹金斯应该安装完全自动化和可重复的。你可以在[本食谱]中看到我的结果(https://github.com/typo3-cookbooks/site-chefcitypo3org)。 – StephenKing