1.Pipeline 變量
在 Jenkins 管道(Pipeline)中,變量是一種非常有用的功能,它們可以幫助你在構建過程中存儲和傳遞數據。Jenkins 管道支持多種方式來定義和使用變量,包括環境變量、腳本變量以及全局變量。
1.2?腳本變量
在 pipeline 腳本中,你可以使用 Groovy 腳本來定義和操作變量。
pipeline {agent anystages {stage('Example') {steps {script {def myVar = 'anotherValue'echo "My Variable: ${myVar}"}}}}
}
1.3?全局變量
Jenkins Pipeline 支持使用一些預定義的全局變量,例如?env
?對象,它包含了環境變量和一些 Jenkins 特有的變量。
pipeline {agent anystages {stage('Example') {steps {echo "Build Number: ${env.BUILD_NUMBER}"echo "Job Name: ${env.JOB_NAME}"}}}
}
1.3?環境變量
環境變量可以在 Jenkins 的“系統管理”->“系統配置”中設置,也可以在 pipeline 腳本中使用?env
?指令定義。
pipeline {agent anyenvironment {MY_VAR = 'someValue'}stages {stage('Example') {steps {echo "My Variable: ${env.MY_VAR}"}}stage('Build') {steps {script {def result = sh(script: 'echo "Hello, Jenkins!"', returnStdout: true).trim()env.MY_VARIABLE = result}}}stage('Test') {steps {sh 'echo $MY_VARIABLE'}}}
}
2. Pipeline 讀取pom
2.1 使用readMavenPom
使用?readMavenPom需要安裝
Pipeline Maven Integration Plugin插件。
pipeline {agent anystages {stage('Read POM') {steps {script {// 讀取 pom.xml 文件def pom = readMavenPom file: 'pom.xml'// 打印一些信息,例如項目版本和依賴項echo "Project Version: ${pom.version}"echo "Project Group: ${pom.groupId}"echo "Project Artifact: ${pom.artifactId}"echo "Dependencies:"pom.dependencies.each { dep ->echo "${dep.groupId}:${dep.artifactId}:${dep.version}"}}}}}
}