詹金斯(哈德森)有办法禁止从另一份工作中找到工作吗?
基本上我们有一个构建环境,可以进行标准构建/测试.我们还使用相同的Jenkins实例来执行其他一些操作,例如自动安装我们产品的新版本(这是某些自动化测试所需的).当我们运行一些"额外"作业时,我们希望暂时禁用"标准"作业(然后在以后自动启用它们).
理想情况下,在作业上会有一些额外的构建步骤来说"禁用XYZ作业".或者,如果有通过ANT或某种方式告诉Jenkins禁用某个工作,那也可以.
更新: 看起来有几个插件会阻止两个作业同时运行,但我真的需要:
dun*_*nni 27
您可以执行Groovy脚本作为预构建步骤.我在公司做过几次这样的事.您必须安装Groovy插件.然后,你可以添加一个预生成步骤"执行系统Groovy脚本",并有可以执行类似的东西:
Jenkins.instance.getItem("jobname").disable()
Run Code Online (Sandbox Code Playgroud)
为了在构建之后启用作业,添加后期构建步骤并执行
Jenkins.instance.getItem("jobname").enable()
Run Code Online (Sandbox Code Playgroud)
如果您想要一个只启用或禁用其他构建作业的作业,那么您不会选择前置或后置构建步骤,而是选择使用系统Groovy脚本的正常构建步骤.
你可以用Groovy脚本做更多的思考.值得详细了解它.
我找到了一种使用jenkins-cli(命令行界面)的方法.我添加了这个构建步骤(对我来说这是一个Windows批处理命令,虽然我可以使它成为一个脚本或更优雅的东西):
java -jar C:\my\jenkins\path\jenkins-cli.jar -s %JENKINS_URL% disable-job "Job 1"
Run Code Online (Sandbox Code Playgroud)
我没有研究如何获得Jenkins的路径,但这不应该太难.
以下是CLI的一些信息.您还可以访问http:// your-jenkins:8080/cli以获取一些可用命令.
| 归档时间: |
|
| 查看次数: |
17265 次 |
| 最近记录: |