概要
Jenkinsfileを記載する際のTips
処理の外だし
pipelineのstageやstepに処理を記載すると可読性が悪くなってしまう。
関数として処理を外だしすることで、スッキリ処理を記載することが可能。
Jenkinsfileの処理は基本的にGroovyで記載できる
※例外
pipeline {
agent any
stages {
stage('Example') {
steps {
script {
sampleFunc(引数) //関数呼び出し
}
}
}
}
}
def sampleFunc(引数){
処理記載
}
各stageでerrorが発生しても、後続のstage処理を実行
参考
catchError句で処理を囲むと、処理がストップせずに後続のstage処理が実行される
pipeline {
agent any
stages {
stage('Test2') {
steps {
catchError {
echo "test ap 1"
error "error test"
}
}
}
stage('Test2') {
steps {
echo "test ap 2"
}
}
}
}
繰り返し処理によるstageの作成
参考
script内でfor文を記載し、stageを作成することが可能
pipeline {
agent any
stages {
stage('Example') {
steps {
script {
def list = ['a', 'b', 'c']
for (int i = 0; i < list.length; i++) {
stage("Test ${list[i]}") {
sh '....'
}
}
}
}
}
}
}