我有两个詹金斯,都是主人。两人各有5个药膏詹金斯。我在第一个jenkins上有一份工作需要克隆每个工作。 我可以克隆第一个詹金斯及其奴隶的工作,但不能克服第二个大师詹金斯。有没有办法将作业从一个jenkins克隆到另一个jenkins?
我还有一个问题,我可以将这份工作存档在除了主jenkins之外的某个定义的位置,可能是奴隶吗?
答案 0 :(得分:1)
我假设你有一份名为" JOB"在" Jenkins1"你想把它复制到" Jenkins2":
curl JENKINS1_URL/job/JOB/config.xml | java -jar jenkins-cli.war -s JENKINS2_URL create-job
如果您在Jenkins中启用了安全性,则可能需要添加用户名和密码。 jenkins-cli.war可以从$ JENKINS_URL / cli。
获得理想情况下,您应该确保在Jenkins1和Jenkins2上都安装了相同的插件。更相似的是,你可以让两个詹金斯大师,导入这份工作的问题就越少。
答案 1 :(得分:0)
对于问题的第二部分:从属设备不存储任何Jenkins配置。所有配置均在Master上完成。有很多备份插件,一些备份整个Jenkins,一些备份只是作业配置,一些备份单个作业,将它们导出到文件,甚至存储/跟踪SCM的变化,如SVN。
所以“将作业配置归档到奴隶”根本没有意义。但是在一天结束时,作业配置只是一个.xml
文件,您可以将该文件复制到任何您想要的位置。
至于问题的第一部分,目前还不清楚你想要什么。您想要自动克隆作业(作为另一个作业的过程的一部分),以编程方式(通过某些脚本)或手动(通过UI,其他方式)?
<强> 编辑: 强>
转到服务器文件系统上的JENKINS_HOME目录,导航到jobs
文件夹,然后选择所需的特定作业文件夹。
config.xml
复制到另一台服务器,这将使用相同的配置创建相同的作业(确保您的插件相同)job_name
文件夹