当前位置:  开发笔记 > 编程语言 > 正文

詹金斯的出口/进口工作

如何解决《詹金斯的出口/进口工作》经验,为你挑选了8个好方法。

是否有可能在两个不同的詹金斯之间交换工作?我正在寻找出口/进口工作的方法.



1> Larry Cai..:

可能使用jenkins命令行是另一种选择,请参阅https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+CLI

create-job:通过将stdin作为配置XML文件读取来创建新作业.

get-job:将作业定义XML转储到stdout

所以你可以做到

java -jar jenkins-cli.jar -s http://server get-job myjob > myjob.xml
java -jar jenkins-cli.jar -s http://server create-job newmyjob < myjob.xml

它适用于我,我习惯存储在我的版本控制系统内


为此,旧服务器上的Java,新服务器和本地计算机需要具有相同的版本.否则,会出现奇怪的流/版本问题.您的jnlp端口也需要打开.

2> Khez..:

Jenkins有一个相当不错的wiki,虽然你刚接触CI软件时很难阅读...

它们为在服务器之间移动作业提供了简单的解决方

诀窍可能是需要从Jenkins配置页面重新加载配置.


那么您需要访问安装了jenkins的系统吗?所以这不是普通用户的答案.

3> MaratC..:

单行:

-H CRUMB


认证

-H CRUMB


使用Crumb,如果CSRF处于活动状态(请参阅此处的详细信息)

得到面包屑:

-H CRUMB

-H CRUMB

申请面包屑-H CRUMB:

-H CRUMB


curl -s http:// : @ OLD_JENKINS/job/JOBNAME/config.xml | curl -X POST'http:// : @ NEW_JENKINS/createItem?name = JOBNAME'--header"Content-Type:application/xml"-d @ -
从中获取用户API密钥:http:// JENKIS_URL/user//configure> API令牌>显示API令牌

4> jwernerny..:

有一个名为Job Import Plugin的插件可能就是你想要的.我用过它.它确实存在从不允许匿名访问的服务器导入项目的问题.

完整性:如果您具有对两者的命令行访问权限,则可以执行Khez已提及的用于移动,复制和重命名Jenkins作业的过程.



5> user1050755..:

转到Jenkins服务器的首页,单击页面底部的REST API:

创造工作

要创建新作业,请config.xml使用query参数发布到此URL name=JOBNAME.您需要发送Content-Type: application/xml标题.200如果创建成功,您将获得状态代码,4xx/5xx如果失败则获得代码.config.xml是Jenkins用于将项目存储在文件系统中的格式,因此您可以在Jenkins主目录中查看它们的示例,或者从中检索现有作业的XML配置/job/JOBNAME/config.xml.



6> jimmont..:

在我的Jenkins实例(版本1.548)中,配置文件位于:

/var/lib/jenkins/jobs/-the-project-name-/config.xml

由jenkins用户和jenkins组拥有644权限.在此处复制文件应该可以正常工作.我没有尝试直接更改它,但已经从这个位置备份配置,以防项目需要再次设置.



7> 小智..:

Job Import插件是从其他Jenkins实例导入作业的简便方法.只需要提供源Jenkins实例的URL.Remote Jenkins URL可以采用以下任何类型的URL:

http://$JENKINS - 获取远程实例上的所有作业

http://$JENKINS/job/$JOBNAME - 找一份工作

http://$JENKINS/view/$VIEWNAME - 在特定视图中获取所有工作



8> Katu..:

感谢Larry Cai的回答,我设法创建了一个脚本来备份我所有的Jenkins工作.我创建了一个每周运行一次的工作.如果有人发现它有用,这里是:

#!/bin/bash
#IFS for jobs with spaces.
SAVEIFS=$IFS
IFS=$(echo -en "\n\b")
for i in $(java -jar /run/jenkins/war/WEB-INF/jenkins-cli.jar -s http://server:8080/ list-jobs); 
do 
  java -jar /run/jenkins/war/WEB-INF/jenkins-cli.jar -s http://server:8080/ get-job ${i} > ${i}.xml;
done
IFS=$SAVEIFS
mkdir deploy
tar cvfj "jenkins-jobs.tar.bz2" ./*.xml

推荐阅读
勤奋的瞌睡猪_715
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有