有可能在两个不同的詹金斯之间交换工作吗?我正在寻找一种输出/输入工作的方法。
当前回答
有一个叫Job Import plugin的插件可能就是你要找的。我用过。它确实存在从不允许匿名访问的服务器导入项目的问题。
完整性: 如果您有命令行访问这两个任务,您可以执行Khez已经提到的移动、复制和重命名Jenkins作业的过程。
其他回答
在web浏览器中访问:
http://[jenkinshost]/job/[jobname]/config.xml
只需将文件保存到磁盘即可。
这并不适用于现有的工作,但是有Jenkins工作生成器。
这允许我们将作业定义保存在yaml文件和git repo中,这是非常可移植的。
多亏了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
下载插件名非常简单
作业导入插件
输入Remote Jenkins服务器的URL,它将自动导入作业
Jenkins有一个相当不错的wiki,尽管对于CI软件新手来说很难阅读……
它们为在服务器之间移动作业提供了一种简单的解决方案
诀窍可能是需要从Jenkins Configuration Page重新加载配置。
更新2020.03.10
詹金科学的格局已经改变了很多…我已经使用工作DSL有一段时间了。 我们有一个SEED Job,它生成其余的Job。
这有助于我们在需要的时候为Jenkins服务器重新创建或移动:) 您还可以为这些文件设置版本,以获得更好的可维护性!
推荐文章
- 如何使用GitHub Org Plugin从jenkins管道(jenkinsfile)触发另一个作业?
- 在GitHub repo上显示Jenkins构建的当前状态
- Hudson支持的JUnit XML格式规范是什么?
- Maven依赖项失败,出现501错误
- 我怎么能让詹金斯CI与Git触发器推到主人?
- 如何从命令行重置Jenkins安全设置?
- 如何在不重启服务器的情况下停止詹金斯上不可阻挡的僵尸工作?
- Jenkins:注释可以添加到Jenkins文件中吗?
- 如何在Jenkins中设置发件人地址?
- 为某些代码关闭声纳
- 如何在Jenkins中设置环境变量?
- 我如何在詹金斯克隆一份工作?
- 如何在本地测试对詹金斯文件所做的更改?
- 在Git中更改电子邮件地址
- 从docker内部运行docker是否可以?