gpt4 book ai didi

jenkins - 我可以将 Jenkins 配置存储在项目存储库中吗(比如 Travis CI)?

转载 作者:行者123 更新时间:2023-12-03 11:29:21 24 4
gpt4 key购买 nike

您如何在源代码旁边维护 SCM 中的 Jenkins 作业配置?

随着源代码的发展,作业配置也在发展。能够在 SCM 中保留作业配置将是理想的,以获得以下好处:

  • 容易看出谁的变迁史,包括作者和描述
  • 能够通过检查修订并构建工作来重建旧的分支/标签
  • 无需滚动 UI 即可找到适当的部分并进行更改

  • 我看到有一个 Jenkins Job Builder插入。我更喜欢遵循 ​​ Travis CI 的解决方案,其中作业配置保存在 YAML 文件 (.travis.yml) 中。有什么好的建议吗?

    注意:我们的大部分项目都使用 Java 和 Maven。

    最佳答案

    2016 年更新: Jenkins 现在提供了一个 Jenkinsfile这正是提供了这一点。这是由 Jenkins 核心开发人员支持并积极开发的。

    好处:

    Creating a Jenkinsfile, which is checked into source control, provides a number of immediate benefits:

    • Code review/iteration on the Pipeline
    • Audit trail for the Pipeline
    • Single source of truth for the Pipeline, which can be viewed and edited by multiple members of the project.


    我已经 written a plugin这样做!

    除了我的插件之外,您对现有的 Jenkins 插件还有一些(有限的)选项:

    使用单个测试脚本

    如果您将 Jenkins 配置为简单地运行:
    $ bash run_tests.sh

    然后您可以 checkin run_tests.sh文件到您的 SCM 存储库中,您现在正在跟踪运行测试方式的更改。但是,这不会跟踪任何插件的配置。

    同样,如果您使用 Maven,则 Maven Project Plugin只需为您的 repo 运行指定的目标。

    Literate Plugin确实允许 Jenkins 运行 README.md 中的命令,但它尚未发布。

    跟踪对 Jenkins 配置的更改

    您可以使用 SCM Sync configuration plugin将配置更改写入 SCM,因此您至少有一个持久记录。这是全局的,跨 Jenkins 实例上的所有项目。

    还有 job config history plugin ,它将配置历史存储在文件系统上。

    从 SCM 编写 Jenkins 配置

    Jenkins job builder您提到的项目允许您将配置更改检查到 SCM 并将它们应用于您的 Jenkins 实例。同样,这涉及 Jenkins 实例上的所有项目。

    从另一个工作中编写 Jenkins 配置

    您可以使用 Job DSL Plugin带有一个 groovy 脚本的 repo。 Jenkins 然后轮询该 repo,执行 groovy 脚本,这些脚本创建作业配置。

    讨论

    Issue 996 (现已关闭) 讨论了这个,在邮件列表中也有讨论: 'Keeping track of Hudson's configuration changes' , 和 'save hudson config in svn' .

    关于jenkins - 我可以将 Jenkins 配置存储在项目存储库中吗(比如 Travis CI)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28291313/

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