我有一个詹金斯的工作,这是一条声明式的管道。 URL是$JENKINS_URL/job/dnscheck/
。
我开始在詹金斯(Jenkins)上使用Bitbucket项目,现在还发现了Jenkinsfile
,并且同样的工作也居住在$JENKINS_URL/job/website/job/dnscheck/job/master/
我想将整个历史记录(日志文件等)从$JENKINS_URL/job/dnscheck/
复制到$JENKINS_URL/job/website/job/dnscheck/job/master/
,然后删除$JENKINS_URL/job/dnscheck/
。
答案 0 :(得分:1)
在主服务器上,所有日志都存储在${JENKINS_HOME}/jobs/<path/to/job>/builds/
中,除非被系统属性jenkins.model.Jenkins.buildsDir覆盖。它们由一系列带编号的目录组成,内部带有log
文件(构建日志),还可能包含一些其他数据文件(例如:build.xml,changelog.xml,injectedEnvVars.txt)。
在jobs目录和builds目录中,也有一些用于最后构建的符号链接(好/坏等)。您可以 复制所有目录(如果有冲突,请重新编号)并相应地更新符号链接。您可能还需要将上一个内部版本(自项目开始以来的内部版本数)重置为n + 1,以便下一个内部版本号在不重叠的情况下递增。它在/ nextBuildNumber中的文件中。
最后,由于Jenkins缓存了所有内容,因此您必须让Jenkins识别新内容。您可以通过以下方法来完成此任务:重新启动系统,从磁盘重新加载配置或不那么费劲地在一个作业上重新加载数据,例如:
def configXMLFile = job.getConfigFile();
def file = configXMLFile.getFile();
InputStream is = new FileInputStream(file);
job.updateByXml(new StreamSource(is));
job.save();