18-Jenkisn-Pipelin-声明式流水线语法-triggers/stage/tool
生活随笔
收集整理的這篇文章主要介紹了
18-Jenkisn-Pipelin-声明式流水线语法-triggers/stage/tool
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
前言
triggers
stage
tool
腳本示例
前言
- 本篇繼續學習新的指令triggers/stage/tool
triggers
- ?指令定義了流水線被重新觸發的自動化方法,當前可用的觸發器是corn,pollSCM和upstream
? ?cron
- 接收 cron 樣式的字符串來定義要重新觸發流水線的常規間隔 ,比如:?triggers{cron('H */4 * * 1-5')}
- 相當于UI界面中構建觸發器中的 Build periodically
? 腳本示例?
pipeline {agent anytriggers {// 周1到周5每天每隔4小時執行一次cron('H */4 * * 1-5')}stages {stage('Hello') {steps {echo 'Hello World'}}} }? ?pollSCM
- 接收 cron 樣式的字符串來定義一個固定的間隔,在這個間隔中,Jenkins 會檢查新的源代碼更新。如果存在更改, 流水線就會被重新觸發。例如:?triggers{pollSCM('H */4 * * 1-5')}
- 相當于UI界面中構建觸發器中的 Poll SCM
- 只在Jenkins 2.22 及以上版本中可用
? 腳本示例
pipeline {agent any// 周一到周五每隔4小時輪詢倉庫變化,有變化執行,無變化不執行triggers { pollSCM('H */4 * * 1-5') }stages {stage('Hello') {steps {echo 'Hello World'}}} }? ?upstream
- 接受逗號分隔的工作字符串和閾值。 當字符串中的任何作業以最小閾值結束時,流水線被重新觸發。例如:?triggers{upstream(upstreamProjects: 'job1,job2', threshold: hudson.model.Result.SUCCESS)}
- 相當于UI界面中構建觸發器中的Build after other projects are built
stage
- 該stage指令在該stages部分中,應包含步驟部分,可選agent部分或其他特定于階段的指令。實際上,Pipeline完成的所有實際工作都將包含在一個或多個stage指令中。
? 腳本示例
pipeline {agent anystages {// 里面的值必填,用來描述步驟的用途stage('Example') {steps {echo 'Hello World'}}} }tool
- 定義自動安裝和放置?PATH?的工具的一部分。如果?agent none?指定,則忽略該操作。
- 只支持定義Maven、jdk、?gradle三種工具的環境變量
- 需要在Global Tool Configuration中配置后才可使用,如下圖
?
腳本示例
pipeline {agent anytools {jdk 'jdk1.8' }stages {stage('Example') {// windwows 使用bat; Linux 使用shsteps {bat 'java -version'}}} }總結
以上是生活随笔為你收集整理的18-Jenkisn-Pipelin-声明式流水线语法-triggers/stage/tool的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Jenkins高级篇之Pipeline语
- 下一篇: quartz集群模式下qrtz_trig