2013年5月15日水曜日

【Jenkins】Vagrant Pluginをやってみたけどできなかった

■環境
Windows7 64bit
VirtualBox 4.1.26
Vagrant 1.2.2
Jenkins 1.514
Vagrant Plugin 0.14

■VirtualBoxインストール

■Vagrantインストール

■Apache TomcatとJenkinsインストール
まずはtomcatをインストールします
tomcatの公式サイトからtomcatのインストーラをダウンロードして実行すればOKです
http://tomcat.apache.org/download-70.cgi
インストールが完了したら8080でローカルからアクセスできることを確認しましょう

次にJenkinsのインストールです
http://mirrors.jenkins-ci.org/war/latest/jenkins.war
からwarファイルをダウンロードしてTomcatの管理からwarファイルをデプロイします
C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps
にwarファイルをコピーしてTomcatを再起動しても大丈夫です

■Vagrant Pluginインストール
Jenkinsのプラグイン管理からインストールします
利用可能タブからフィルタで「vargrant」を検索してインストールします
インストール後はJenkinsを再起動します

インストール環境後に適当にジョブを作成し
ビルド環境にBoot Vagrant box
のチェックボックスがあることを確認します

■実行
コマンドプロンプトを開く
cd C:/.jenkins/jobs/sample/workspace/
vagrant init precise32 http://files.vagrantup.com/precise32.box
実行後workspace配下にVagrantfileがあることを確認します
ビルド時に時間をかけないように一旦 vagrant up をしておきます
VMが問題なく起動できてログインできたらOKです

Jenkinsから操作します
sampleのビルドを作成し、vagrantを設定する
ビルド環境→Boot Vagrant boxにチェックを入れます
Path to Vagrantfileは相対パスをワークスペースからの相対パスで入力します
今回はworkspace配下に直接Vagrantfileを作成したので、入力しません
作成が完了したらビルドを実行してみましょう
成功するとvagrantからVMが立ち上がりそこで指定したビルドが実行されます

■結果
で、まぁ結果的にはWindows7 64bit上では動きませんでした
環境に書いてあるバージョンで実行すると
FATAL: (NoMethodError) undefined method `configure' for Vagrant:Module
のエラーが出てうまく動作しません
バージョンの新しいvagrantではVagrantfileの形式が変わっているみたいでそれに対応してないように見えました

vagrantのバージョンを下げてやってみたところ
FATAL: (NameError) uninitialized constant ChildProcess::Windows::Process
のエラーとなり調べてみたら
https://github.com/rtyler/vagrant-plugin/issues/19
https://github.com/jarib/childprocess/issues/26
という記事を見つけてJRubyがWindows7 64bit上だと動かないようです(というかWindows自体未検証みたいです)

まったく同じことをLinux上でやれば動くかもしれません
残念・・・

■参考サイト

0 件のコメント:

コメントを投稿