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

问题描述 投票:0回答:1

我想从代码设置Jenkins

  1. 创建一个初始管道
  2. 创建Job DSL种子作业并执行它以配置管道中使用的作业
  3. 配置Jenkins设置 语言环境 - 将语言环境设置为EN 访问控制 - 锁定系统

我阅读了很多教程和问题,并找到了以下想法

  • 使用Jenkins CLI
  • 一些Job DSL界面用于设置here at the bottom描述的工作
  • 在位于init.groovy.d的Groovy文件中使用JenkinsSCI接口 - 见下文

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

Dockerfile

# 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"]

常规/工作/ test1的-basic.groovy

#!/usr/bin/env groovy

import hudson.model.*
import jenkins.model.Jenkins;
import hudson.tasks.Shell;

job = Jenkins.instance.createProject(FreeStyleProject, 'test1-basic')
job.buildersList.add(new Shell('echo hello world'))
job.save()

遗憾的是,样本缺乏

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

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

jenkins groovy
1个回答
0
投票

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.