Jenkinsを使う
Jenkins
Jenkinsとは、アジャイルの記事( アジャイル - DesignAssembler )で触れたCIツールです。
簡単に言えば、コマンド一つで指定した動作を自動で行うbotのようなものです。
インストールと起動
環境
公式ページ(https://jenkins-ci.org/)からインストーラーをダウンロードしてインストールします。
起動は以下のコマンドでいけます。
$ java -jar jenkins.war
が、jenkins.warはどこじゃいってことでgrepします
$ sudo find / xargs | grep jenkins.war
すると /Applications/Jenkins/jenkins.war にあったので
$ sudo java -jar /Applications/Jenkins/jenkins.war
として起動します。
が、
Feb 12, 2016 1:04:07 PM winstone.Logger logInternal 重大: Container startup failed java.io.IOException: Failed to start Jetty
こんな感じのエラーが出て何事かと思ったら8080番ポートが使用中でした。
ですので9090番を指定すると、
$ sudo java -jar /Applications/Jenkins/jenkins.war --httpPort=9090
無事起動しました。
ブラウザからアクセスするとこんな感じです
思ったより簡単です。
JenkinsでCI
vagrant立ててテストしてdestroyするという1サイクルを作ります。
エラーハンドリングや通知等は次にします・・・
流れ
githubに上げる
作ったディレクトリをgithubに上げます
Jenkinsからvagrantを動かす
まずvisudoに以下の行を追加します。
$ sudo /usr/sbin/visudo jenkins ALL=(ALL) NOPASSWD:ALL
では新規ジョブ作成からジョブを作成します。
ジョブの名前はvagrantとかにします。
これで保存します。
これで実行すればビルドされてコマンドが走ります。
chef install(latest)にやたら時間かかります。
あとInstalling ruby-2.2.2…にもやたらと時間かかります。
ビルド開始から終了まで20分くらいかかりました。
権限の問題難しかった・・・