yamashiro0110の日記

yamashiro0110の日記です。おもにIT技術のメモを綴っていきます(^o^)

Jenkinsのjobの作り方


Jenkinsでjobの作り方めも


Gitでpushしたら自動でビルドするところまでを設定してみます。

  • 環境
# cat /etc/redhat-release
CentOS release 6.5 (Final)
# uname -r
2.6.32-431.11.2.el6.x86_64

Jenkins ver. 1.565


新規ジョブの作成

Jenkins実践入門 ~ビルド・テスト・デプロイを自動化する技術 (WEB+DB PRESS plus) によると

「フリースタイル・プロジェクトのジョブ」が作成できるようになると ほかのテンプレートを利用したジョブも簡単に設定できるでしょう

とのことなので"フリースタイル・プロジェクトのジョブ"を作成してみます

  • JenkinsのTOPページから新規ジョブ作成をクリック
  • ジョブ名を入力
  • フリースタイル・プロジェクトのビルドにチェックを入れる
  • OKボタンをクリック

ジョブの設定

ソースコード管理システムは、Gitを使いました。

#JenkinsでGitを使うためには、Git-Pluginをインストールする必要あり

ソースコード管理の設定

開発環境で修正したソースをpushするリポジトリgit init --bareで作成していて、 そのディレクトリを指定するとJenkinsに怒られたので一度適当なディレクトリにgit cloneをして、 作成されたリポジトリのパスを指定しました。

ビルド・トリガ

  • SCMをポーリングにチェック
    • リポジトリに変更が加えられたかを、一定時間ごとにチェックする
    • 書式はcronと同じ
      • 10分おきにチェックする設定を追加
        • H/10 * * * *

以上の設定をして、保存します


ビルド実行

  • プロジェクトのTOPページ(ジョブのTOP)のメニューからビルド実行をクリックするだけ
    • するとビルド履歴のとこに、新しくビルドした履歴が追加される

ローカルリポジトリからpushしたらビルドを実行する

  • push先の共有リポジトリのフックスクリプトにJenkinsのビルド実行URLを呼び出すように修正する

    • URLはプロジェクトのホーム左側にあるビルド実行のリンクのURLになっている
  • push成功後に動作するフックスクリプトは、${共有リポジトリのパス}/hooks/post-update

curl http://${Jenkinsサーバのホストアドレス:ポート}/job/${プロジェクト名}/build?delay=0sec
  • post-update.sampleからコピーして作成する場合、もともと存在するexec git update-server-infoより上に記述しないと動かなかった

にほんブログ村 IT技術ブログ IT技術メモへ
にほんブログ村