2017年4月19日水曜日

はじめての Jenkinsfile (git 連携)

概要

Jenkinsfile を改めて試してみました
Github 上で Jenkinsfile を管理してそれを取得してビルドを実行します

環境

  • CentOS 7.3
  • Jenkins 2.46.1

Jenkinsfile 作成

あらかじめ Github 上にリポジトリを作成しておきましょう

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 を記載します
first_jenkinsfile1.png

これでビルドするとビルド結果に echo の結果が表示されると思います

Jenkinsfile を書き換えてみる

  • vim Jenkinsfile
node {
  stage('Echo') {
    echo 'My first Jenkinsfile'
  }
}
  • git add .
  • git commit -m “second”
  • git push -u origin master

書き換えて再 push 後ジョブをビルドし直すとビルド結果が変わっていることがわかると思います
ステージを追加することでステージごとにビルド結果が表示されるので結果も見やすくなります
first_jenkinsfile2.png

最後に

Jenkinsfile を Github で管理して Jenkins でビルドしてみました
Webhook などでジョブをキックできるようにすると更に便利かもしれません

Pipeline ジョブにすればジョブの内容をコードに落とせるので便利です

参考サイト

1 件のコメント:

  1. シェルスクリプトを実行して結果を表示するスクリプトは以下

    node {
    stage('cmd') {
    RET = sh (
    script: 'hostname',
    returnStdout: true
    ).trim()
    echo "hostname: ${RET}"
    }
    }

    返信削除