DesignAssembler

備忘録に近い

Jenkinsを使う

Jenkins

Jenkinsとは、アジャイルの記事( アジャイル - DesignAssembler )で触れたCIツールです。

簡単に言えば、コマンド一つで指定した動作を自動で行うbotのようなものです。

インストールと起動

環境

OS X Yosemite 10.10.2

公式ページ(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

f:id:hyottokoaloha:20160213015831p:plain

こんな感じのエラーが出て何事かと思ったら8080番ポートが使用中でした。

ですので9090番を指定すると、

$ sudo java -jar /Applications/Jenkins/jenkins.war --httpPort=9090

無事起動しました。

ブラウザからアクセスするとこんな感じです

f:id:hyottokoaloha:20160213020025p:plain

思ったより簡単です。

JenkinsでCI

vagrant立ててテストしてdestroyするという1サイクルを作ります。

エラーハンドリングや通知等は次にします・・・

流れ

  1. githubvagrantの設定ファイルが置いてあるフォルダを上げる
  2. JenkinsにGit Pluginを入れる
  3. Jenkinsからvagrantを作って壊す

githubに上げる

作ったディレクトリをgithubに上げます

Jenkinsからvagrantを動かす

まずvisudoに以下の行を追加します。

$ sudo  /usr/sbin/visudo

jenkins ALL=(ALL) NOPASSWD:ALL

では新規ジョブ作成からジョブを作成します。

ジョブの名前はvagrantとかにします。

f:id:hyottokoaloha:20160213020135p:plain

f:id:hyottokoaloha:20160213020213p:plain

これで保存します。

これで実行すればビルドされてコマンドが走ります。

chef install(latest)にやたら時間かかります。

あとInstalling ruby-2.2.2…にもやたらと時間かかります。

f:id:hyottokoaloha:20160213103046p:plain

ビルド開始から終了まで20分くらいかかりました。

権限の問題難しかった・・・

参考

nakazye.hatenablog.com