當多個 Jenkins 工作有聯貫性時,可以透過一個 Pipeline Job 包裝,由 Pipeline Job 依序自動執行。
本篇將介紹如何在 Pipeline Job 用 Groovy Script 調用其他 Jenkins 的工作。
範例
建立兩個 Pipeline Job:
- MainlyPipelineJob
- SubPipelineJob
Groovy
先前有介紹過如何建立 Pipeline Job,可以參考 Jenkins - Pipeline Job using Groovy。
在 Groovy 中調用其他 Jenkins 工作可以使用 build
方法,如下:
1 | // MainlyPipelineJob |
1 | // SubPipelineJob |
傳遞變數
1. MainlyPipelineJob
如果要把 MainlyPipelineJob 的變數傳遞到 SubPipelineJob,就要在 build
方法帶入 parameters
。
同時要定義參數型態
、名稱
及內容
。如下:
1 | // MainlyPipelineJob |
- Groovy 語法再調用方法時,
( )
是可以被省略的。 - parameters 還有另一種參數用法:
- [ $class: “StringParameterValue”, name: “name”, value: “John Wu” ]
同 string(name: “name”, value: “John Wu”) - [ $class: “BooleanParameterValue”, name: “isTest”, value: true ]
同 booleanParam(name: “isTest”, value: true)
2. SubPipelineJob
在 SubPipelineJob 配置中,新增 String 參數,如圖:
在 Groovy 中可直接取用上層傳來的變處名稱使用。如下:
1 | // SubPipelineJob |