加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

groovy – 如何使jenkins/哈德森工作监督其他工作,并决定是否建

发布时间:2020-12-14 16:31:08 所属栏目:大数据 来源:网络整理
导读:问题 鉴于所有作业的作业名称中都有字符串LEVEL_X,其中X是数字 1.我希望X = n的每个作业都可以用X = n-1来监视每个作业,如果每个作业完成成功,都要开始构建.而我希望X = n的工作以1分钟的间隔来监视其他作业. 首先,我有兴趣知道最好的方法是做什么,第二,我想
问题

鉴于所有作业的作业名称中都有字符串LEVEL_X,其中X是数字> 1.我希望X = n的每个作业都可以用X = n-1来监视每个作业,如果每个作业完成成功,都要开始构建.而我希望X = n的工作以1分钟的间隔来监视其他作业.

首先,我有兴趣知道最好的方法是做什么,第二,我想要解决方案,如果一个可以通过一个小脚本来实现,也许是一个groovy脚本,可以使用GROOVY PLUGIN在系统groovy脚本中运行.

解决方法

以下是一些提示和代码段:

> http://< jenkins-server> / script中有一个Groovy脚本控制台,可帮助您调试脚本.
>这是到Jenkins Java API的链接.
>输出所有作业名称的代码片段:

def hi = hudson.model.Hudson.instance
   hi.getItems(hudson.model.Project).each {project ->
   println(project.displayName)
}

>从LEVEL_n中提取n的代码段(实现为闭包):

def level = { name ->
  def ret = 0
  name.eachMatch(~'LEVEL_([1-9]+[0-9*])',{ret = it[1].toInteger()})
  return ret
}

>获取所有最新版本的代码的代码段:

def hi = hudson.model.Hudson.instance
hi.getItems(hudson.model.Project).each {project ->
  println(project.lastBuild.result)
}

>链接到starts a build的方法.

注意:如果您使用Matrix版本,事情会变得更细.但只要你不这样就够了.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读