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 * * * *
- 10分おきにチェックする設定を追加
以上の設定をして、保存します
ビルド実行
- プロジェクトのTOPページ(ジョブのTOP)のメニューからビルド実行をクリックするだけ
- するとビルド履歴のとこに、新しくビルドした履歴が追加される
ローカルリポジトリからpushしたらビルドを実行する
curl http://${Jenkinsサーバのホストアドレス:ポート}/job/${プロジェクト名}/build?delay=0sec
- post-update.sampleからコピーして作成する場合、もともと存在するexec git update-server-infoより上に記述しないと動かなかった