概要
Jenkinsfile を改めて試してみました
Github 上で Jenkinsfile を管理してそれを取得してビルドを実行します
環境
- CentOS 7.3
- Jenkins 2.46.1
Jenkinsfile 作成
あらかじめ Github 上にリポジトリを作成しておきましょう
- git clone https://github.com/hawksnowlog/test-jenkins-file
- cd test-jenkins-file
- vim Jenkinsfile
node {
echo 'My first Jenkinsfile'
}
- git add .
- git commit -m “first”
- git push -u origin master
でとりあえず OK です
Pipeline ジョブを作成する
Jenkins 上で Pipeline ジョブを作成します
Pipeline ジョブでないと Jenkinsfile が使えないのでご注意ください
ジョブを作成したら Pipeline の設定箇所で「Pipeline script from SCM」を選択します
SCM を git に変更し先程 push した Github リポジトリの URL を記載します
これでビルドするとビルド結果に echo の結果が表示されると思います
Jenkinsfile を書き換えてみる
- vim Jenkinsfile
node {
stage('Echo') {
echo 'My first Jenkinsfile'
}
}
- git add .
- git commit -m “second”
- git push -u origin master
書き換えて再 push 後ジョブをビルドし直すとビルド結果が変わっていることがわかると思います
ステージを追加することでステージごとにビルド結果が表示されるので結果も見やすくなります
最後に
Jenkinsfile を Github で管理して Jenkins でビルドしてみました
Webhook などでジョブをキックできるようにすると更に便利かもしれません
Pipeline ジョブにすればジョブの内容をコードに落とせるので便利です
シェルスクリプトを実行して結果を表示するスクリプトは以下
返信削除node {
stage('cmd') {
RET = sh (
script: 'hostname',
returnStdout: true
).trim()
echo "hostname: ${RET}"
}
}