Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium 如何删除失败的Jenkins作业,使生成数计数保持无效?_Selenium_Jenkins_Selenium Webdriver_Continuous Integration_Jenkins Plugins - Fatal编程技术网

Selenium 如何删除失败的Jenkins作业,使生成数计数保持无效?

Selenium 如何删除失败的Jenkins作业,使生成数计数保持无效?,selenium,jenkins,selenium-webdriver,continuous-integration,jenkins-plugins,Selenium,Jenkins,Selenium Webdriver,Continuous Integration,Jenkins Plugins,有没有什么方法可以让我删除失败的Jenkins作业,然后计数变为1、2、3、4、5,而不是1、2、4、5、6,假设作业编号3失败并因此被删除 我的情况是: 我删除了红色(失败)詹金斯的工作,因为我想连续5个工作是绿色的。现在,当我再次构建时,新的作业是构建,新的构建编号为+1。因此,可以看到某些作业已被删除 有什么帮助吗?有可能。我只知道一种方法,但它相当粗糙,具体步骤将取决于您的jenkins版本、它所在的操作系统以及jenkins的安装方式。我将介绍一个相当典型的jenkins 2.63 C

有没有什么方法可以让我删除失败的Jenkins作业,然后计数变为1、2、3、4、5,而不是1、2、4、5、6,假设作业编号3失败并因此被删除

我的情况是: 我删除了红色(失败)詹金斯的工作,因为我想连续5个工作是绿色的。现在,当我再次构建时,新的作业是构建,新的构建编号为+1。因此,可以看到某些作业已被删除


有什么帮助吗?

有可能。我只知道一种方法,但它相当粗糙,具体步骤将取决于您的jenkins版本、它所在的操作系统以及jenkins的安装方式。我将介绍一个相当典型的jenkins 2.63 CentOS安装的步骤,作为概念证明,并警告说,重写构建历史并不是真正的标准做法

更改将涉及直接在磁盘上修改jenkins构建配置,然后重新启动/重新加载jenkins。安装路径是特定于站点的,但在本例中是/var/lib/jenkins 目录布局将取决于您的jenkins版本,但在本例中有一个jobs子目录,其中包含每个jenkins作业的单独目录,例如:

$ ls -l /var/lib/jenkins/jobs/
total 0
drwxr-x---. 5 jenkins jenkins 4096 Jul  3 08:37 jenkins_job_1
drwxr-x---. 5 jenkins jenkins 4096 Jul  3 08:37 jenkins_job_2
drwxr-x---. 5 jenkins jenkins 4096 Jul  3 08:37 jenkins_job_3
在作业目录中有一个子目录,其中包含jenkins构建历史记录、指向最新成功和不成功构建的符号链接、包含作业配置的xml以及显示下一个构建编号的文件:

$ ls -l /var/lib/jenkins/jobs/jenkins_job_1
total 16
drwxr-x---. 4 jenkins jenkins 4096 Jun 21 16:54 builds
-rw-r-----. 1 jenkins jenkins 4146 Jun 21 12:28 config.xml
lrwxrwxrwx. 1 jenkins jenkins   22 Jun 21 16:29 lastStable -> builds/lastStableBuild
lrwxrwxrwx. 1 jenkins jenkins   26 Jun 21 16:29 lastSuccessful -> builds/lastSuccessfulBuild
-rw-r-----. 1 jenkins jenkins    4 Jun 27 10:53 nextBuildNumber
构建运行本身将如下所示:

$ ls -l /var/lib/jenkins/jobs/jenkins_job_1/builds/
total 0
drwxr-x---. 2 jenkins jenkins 78 Jun 29 10:13 1
drwxr-x---. 2 jenkins jenkins 78 Jun 29 10:13 2
drwxr-x---. 2 jenkins jenkins 78 Jun 29 10:14 3
drwxr-x---. 2 jenkins jenkins 78 Jun 29 10:38 4
drwxr-x---. 2 jenkins jenkins 78 Jun 29 11:51 5
drwxr-x---. 2 jenkins jenkins 78 Jun 29 13:11 6
drwxr-x---. 2 jenkins jenkins 78 Jun 29 13:21 7
drwxr-x---. 2 jenkins jenkins 78 Jun 29 13:41 8
drwxr-x---. 2 jenkins jenkins 78 Jun 29 13:50 9
drwxr-x---. 2 jenkins jenkins 78 Jun 29 13:55 10
lrwxrwxrwx. 1 jenkins jenkins  1 Jun 29 10:13 lastFailedBuild -> 2
lrwxrwxrwx. 1 jenkins jenkins  2 Jul  5 09:46 lastStableBuild -> 10
lrwxrwxrwx. 1 jenkins jenkins  2 Jul  5 09:46 lastSuccessfulBuild -> 10
lrwxrwxrwx. 1 jenkins jenkins  2 Jun 29 08:17 lastUnstableBuild -> -1
lrwxrwxrwx. 1 jenkins jenkins  1 Jun 29 10:13 lastUnsuccessfulBuild -> 2
-rw-r-----. 1 jenkins jenkins  0 Jun 29 08:17 legacyIds
为了编辑构建历史记录,需要删除相关的构建目录,需要减少后续的构建编号,并且需要在必要时重新绘制上次失败、成功、不成功、不稳定和稳定构建的符号链接。例如,如果我们选择删除版本5,则需要重命名版本6-10并重新绘制相关符号链接:

$ rm -rf /var/lib/jenkins/jobs/jenkins_job_1/builds/5
$ for i in `seq 6 10`; do mv -i $i $(($i - 1)); done
$ ln -sf 9 lastStableBuild
$ ln -sf 9 lastSuccessfulBuild
更新所有相关符号链接后,您还需要减少nextBuildNumber:

echo 10 > /var/lib/jenkins/jobs/jenkins_job_1/nextBuildNumber

然后从命令行或web界面中的“Manage jenkins”选项重新启动jenkins,对作业的更改应该可见。或者,您可以尝试jenkins web界面中的“从磁盘重新加载配置”选项。

谢谢您的回答。但由于我是詹金斯的新手,这对我来说很难。我尝试了“生成环境”部分下的“设置生成名称”选项。到目前为止,这是一个暂时的解决办法。