一、概述
Jenkins是一个开源CI/CD 自动化工具,用于交付项目,无论平台如何。在本教程中,我们将学习在两台不同的机器之间导出和导入Jenkins 作业。
首先,我们将在Docker 容器中启动Jenkins 服务器。稍后,我们将使用Job Import Plugin和Jenkins XML 配置将作业从源计算机导出到目标计算机。
2.初始设置
在开始之前,让我们首先为演示创建一个设置。在这里,设置包括两个Linux VM、一个源计算机和一个目标计算机。当然,在Linux 中安装Jenkins 有不同的方法。通常,最简单的方法是Docker 容器。当然,Jenkins 服务器必须在两台机器上运行。
此外,我们还需要一份样本作业才能导出和导入。要创建作业,我们需要执行以下几个步骤:
单击Jenkins 仪表板中的
New Item
设置作业名称(我们使用
sampleJob
)选择工作类型(我们使用
Freestyle project)
保存作业
上述步骤将在源Jenkins 机器上创建一个基本作业。
3. Jenkins 中的导出/导入作业
在任何情况下,Jenkins 作业都可以通过多种方式移动到不同的服务器上。但是,要将Jenkins 作业文件从一个实例迁移到另一个实例,我们需要确保源计算机和目标计算机之间的正确连接。
3.1。使用作业导入插件
在Jenkins 中,作业导入插件允许我们迁移作业。事实上,所有插件都可以从Jenkins UI 进行管理和安装。当然,我们在目标机器上安装Job Import Plugin。
现在,要导入作业,我们必须更改目标Jenkins 机器的配置。首先,从Jenkins 仪表板,我们转到Manage Jenkins
> Configure System
。接下来,我们向下滚动到Job Import Plugin
部分。
在这里,我们将添加源Jenkins 机器的URL 和凭据。
在这里,我们填写所有相关值,然后保存并应用更改。
最后,我们将在Jenkins 仪表板的左侧导航栏中获得一个Job Import Plugin
项。点击它,我们可以看到插件提供的选项。
以后,我们可以通过点击query
按钮获取源机的所有作业。此外,当我们使用Import
复选框时,源机器中的作业将被导入目标机器。
3.2.使用jenkins-cli.jar
文件
此外,我们还可以使用jenkins-cli.jar
文件迁移Jenkins 作业。要下载jenkins-cli.jar
,我们可以访问http://JENKINS_IP:JENKINS_PORT/jnlpJars/jenkins-cli.jar.
此外,要从源机器导出作业,我们需要源机器的Jenkins 用户的密码。此密码位于Docker 容器的stdout
日志中。
现在让我们看一下从源机器获取sampleJob
的配置文件的命令:
$ java -jar jenkins-cli.jar -s http://JENKINS_USER:[email protected]_IP:JENKINS_PORT get-job sampleJob > sampleJob.xml
在这里,我们有几条信息,我们需要使用来自源机器的适当值来更新它们:
JENKINS_USER
JENKINS_PASSWORD
JENKINS_IP
JENKINS_PORT
重要的是,我们必须从jenkins-cli.jar
所在的目录运行命令。此外,使用get-job
选项,我们以XML 格式获取作业转储。
让我们看看将sampleJob.xml
导入目标机器的命令:
$ java -jar jenkins-cli.jar -s http://JENKINS_USER:[email protected]_IP:JENKINS_PORT create-job sampleJob < sampleJob.xml
同样,需要替换值,但这一次是根据目标机器。
最后,上述命令读取sampleJob.xml
文件并在目标机器上导入新作业。
4。结论
在本文中,我们演示了如何在不同的Jenkins 服务器上导出和导入Jenkins 作业。首先,我们学习了使用Job Import Plugin 进行导出和导入。之后,我们对jenkins-cli.jar
文件做了同样的事情。
0 评论