Mark Jenkins Pipeline被推荐

时间:2017-11-21 13:51:00

标签: jenkins jenkins-pipeline

最后我知道,Jenkins Pipelines不支持促销,所以为了解决这个问题,我创建了一个名为“job-name-promotion”的工作,它会从我想要推广的工作中收集工件,然后标记相应的构建作为“永远保持。”有没有办法标记永久保存为“升级”的构建?最好使用通常表示促销的其中一个星星?或者甚至更好,是否有办法立即向管道添加促销流程步骤?

1 个答案:

答案 0 :(得分:0)

由于管道似乎仍然不支持促销(截至2017年11月21日),我编写了一个自定义groovy脚本来迭代Jenkins服务器上的所有作业,找到我们想要推广的那个并添加一个金星到相应的内部编号:

import hudson.model.*
import jenkins.model.*
import org.jvnet.hudson.plugins.groovypostbuild.GroovyPostbuildAction

def log = manager.listener.logger
build = Thread.currentThread().executable
String jobName = build.project.getName()
// note: these two variables are defined as parameters of the current job
def number = manager.build.buildVariables.get("NUMBER") as int
def buildJobName = manager.build.buildVariables.get("BUILD_JOB_NAME")

Jenkins jenkins = Jenkins.getInstance()
List<Job> projects = jenkins.getAllItems(Job.class)

for (Job project : projects) {
    if (project.getName().equals("platform-lanai-pipeline")) {
        log.println("Found it!")
        Run usb = project.getBuildByNumber(number)
        usb.getActions().add(GroovyPostbuildAction.createBadge('star-gold.png', ''))
    }
}