Init从代码中设置Jenkins 2.x.

时间:2017-12-17 16:11:40

标签: jenkins groovy

我想从代码到

设置Jenkins
  1. 创建一个初始管道
  2. 创建作业DSL种子作业并执行它以配置管道中使用的作业
  3. 配置Jenkins设置
    • 区域设置 - 将区域设置设置为EN
    • 访问控制 - 锁定系统
  4. 我阅读了很多教程和问题,并找到了以下想法

    • 使用Jenkins CLI
    • 某些Job DSL界面,用于设置here at the bottom
    • 所述的作业
    • 在位于dnd的Groovy文件中使用JenkinsSCI界面 - 见下文

    为了测试我使用Docker并且已经运行了以下示例。

    Dockerfile

    init.groovy.d

    常规/作业/ TEST1-basic.groovy

    # https://github.com/jenkinsci/docker/blob/master/README.md
    FROM jenkins/jenkins:lts
    
    USER root
    
    COPY groovy/* /usr/share/jenkins/ref/init.groovy.d/
    
    USER jenkins
    
    EXPOSE 8080
    
    ENTRYPOINT ["/bin/tini", "--", "/usr/local/bin/jenkins.sh"]
    

    样本遗憾地缺乏

    • 配置部分,因为我不知道如何从groovy代码中访问locale插件
    • 作业DSL集成,如何阅读种子作业并执行它们

    我真的进行了深入研究,对这个初始设置部分找不到多少。似乎很多人手动执行此操作,或者复制XML文件的传统方式。你能帮助我解决这个问题并将其作为最佳实践文档吗?为了其他?

1 个答案:

答案 0 :(得分:0)

如果您熟悉chef之类的配置管理工具,可以使用它来配置jenkins实例。有一个jenkins社区cookbook可以用来编写一个包装来满足你的需求。

本烹饪书中的jenkins_job资源允许您创建任何类型的作业,无论是管道,自由样式等,您只需提供所需的作业配置即可。您可以使用变量对此进行模板设置,以便根据您提供的内容创建相应的作业。不仅仅是工作,您可以使用与此相对应的资源配置您使用Chef手动完成的所有操作。

使用厨师最好的部分之一是您可以根据需要随时控制它并更新配置。

如果您不打算使用配置管理工具,可以查看有关如何使用插件创建作业的讨论here