在几种情况下跳过管道执行

时间:2016-08-22 14:10:56

标签: jenkins jenkins-plugins jenkins-pipeline

我有一个名为UAT的管道构建。这个版本每3分钟安排一次。另一个名为DEV的构建。每分钟安排DEV。任务是:仅在最后UAT执行DEV时才运行SUCCESS。如果不是 - 跳过执行。并在相同条件下运行3分钟后再运行 我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

不要将UAT作业安排为单独的作业,而是在第一个DEV管道成功完成后触发启动。 当您使用管道时,您实际上有两个解决方案:

1) 不要调用其他工作,只需调用Groovy函数来集成DEV部分,例如:

node() {
  stage "UAT"
  // Your existing UAT pipeline content here

  stage "DEV"
  git 'http://urlToYourGit/projectContainingYourDevScript'
  pipeline = load 'functions.groovy'
  pipeline.dev()
}

2)用这种方式调用第二个Jenkins工作:

node() {
  stage "UAT"
  // Your existing UAT pipeline content here

  build job: "dev-job"
}

使用这两个解决方案,您可以将第一个作业配置为每分钟运行一次,只有当第一个作业成功完成时才会触发第二个部分/作业(否则Jenkins将像通常那样使构建失败)。 / p>