gpt4 book ai didi

jenkins - Chef : Jenkins supermarket cookbook automated job deployment

转载 作者:行者123 更新时间:2023-12-01 13:34:20 26 4
gpt4 key购买 nike

我目前正在使用 Jenkins supermarket cookbook在我的 Chef 托管节点上部署作为服务运行的 Jenkins 实例。到目前为止,我已经修改了我的 _master_war_ 配方文件以安装 Jenkins 并使用 runit 将 Jenkins 作为服务启动,安装我需要的所有插件版本以及启用基于矩阵的安全性并创建一个基本管理员帐户。还应注意,我们使用 BitBucket 进行源代码控制。

我还想将我的作业添加为自动化 Jenkins 部署的一部分。据我了解,执行此操作的方法是将作业配置文件从我的 Chef 工作站上的目录复制到托管节点上的目录(Chef 的缓存路径)。

根据 Jenkins public supermarket cookbook自述文件:

The :create action requires a Jenkins job config.xml. This config file must exist on the target node and contain a valid Jenkins job configuration file. Because the Jenkins CLI actually reads and generates its own copy of this file, do NOT write this configuration inside of the Jenkins job. We recommend putting them in Chef's file cache path.

由于这些作业配置会定期更改,我想知道在我的 Chef 工作站上维护作业配置文件的最新副本以部署到我的托管节点的最佳方法是什么?

我是否正确理解了说明书文档,因为我们需要作业配置文件的本地副本(在 Chef 工作站上),然后将其复制到托管节点上的 Chef 缓存文件路径?

提前感谢任何人能够提供的任何帮助。

最佳答案

就个人而言,我认为将 Jenkins 作业设置到 Jenkins 领域而不是 Chef 领域要多得多。 Jenkins 社区开发了几种“工作即代码”方法,最受欢迎的是 Job DSLJenkins Pipelines ,后者可能是更好的起点。

Chef cookbook 剩下的就是定义种子作业,例如对于“Bitbucket Organization Folder”插件(以及指向您在 BitBucket 的组织的一项工作)或工作 DSL 的所谓“种子工作”。

关于管道的自动化设置,我建议看一下 Torben Knerr's examples .这使用

  • 用于实际构建作业的管道(如 Jenkinsfile 中所定义)
  • 一个作业 DSL 种子作业,用于设置管道作业

关于 Chef 中的实际实现,您可以在 a cookbook of mine 中查看示例. template 资源从 cookbook(在 templates/ 子目录中)复制一个文件到某个临时路径,jenkins_job 资源从那里获取它(在 Jenkins 服务器上)。

所以我不确定您是否正确理解:

will need a local copy of the job configuration file (on the Chef workstation)

所以您只需要在您的工作站上将它添加到 Recipe 中,是的。

关于jenkins - Chef : Jenkins supermarket cookbook automated job deployment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44500881/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com