Jenkins Pipeline如何动态的并行任务

Posted fsharpzack

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jenkins Pipeline如何动态的并行任务相关的知识,希望对你有一定的参考价值。

Jenkins Pipeline 有两种写法: Declare 以及 Script,前一种使用了大量Jenkins基于Groovy实现的DSL,使用起来相对有限制;后一种可以很好的在Jenkinsfile 中是用Groovy语句。 下面记录Script模式下常见的一些注意点:

1. 如何退出当前的build
    a. 中断退出:
            currentBuild.result = ‘ABORTED‘
            echo "没有项目被选中"
            return
    b. 错误退出
            error “错误信息”
    c. 不稳定退出
            unstable “信息”
 
2. 如何从一个Stage 传值到另一个:
    env.PREVIOUSE_STAGE_VALUE = “” // 必须String
    下一个Stage 直接使用 def accept = env.PREVIOUSE_STAGE_VALUE
    或者:
    定义一个全局变量
 
3. gitlab 如何获取指定分支后者版本的代码?
    使用 checkout 功能,不用 git  功能
 
4. 如何切换目录
    使用 dir 方法
 
5. 如何读取上一个Stage 存的文件:
    def content  = readFile “path”
 
6. 如何提示用户输入:
    def inputStr = input message: "select project" , ok : “确认”, parameters: [extendedChoice(description: ‘select projects to be compiled‘, multiSelectDelimiter: ‘,‘, name: ‘project_name‘, quoteValue: false, saveJSONParameterToFile: false, type: ‘PT_CHECKBOX‘, value: "$choices", visibleItemCount: choices.size())]
 
7. 如何动态的并行任务:
    def tasks = [:]  //定义一个用例保存task 的 map
    tasks.”task name” = {一个闭包}
 
    parallel tasks //并行所有task

以上是关于Jenkins Pipeline如何动态的并行任务的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins 在声明式 pipeline 中并行执行任务

Jenkins集群下的pipeline实战

Jenkins集群下的pipeline实战

20-Jenkins-Pipeline-顺序执行和并行

在容器中运行 Jenkins pipeline 任务

如何使用 Jenkins 的脚本化流水线(Pipeline)