読者です 読者をやめる 読者になる 読者になる

今日学んだこと

読書感想文とか、勉強した内容とか

JenkinsからVagrantを起動する

CentOS Jenkins Vagrant

前回からの続きです

システム開発環境構築の自動化についての構想 - 今日学んだこと

お名前.comのVPS(CentOS6.5)にVirtualBoxを入れる - 今日学んだこと

お名前.comのVPS(CentOS6.5)にVagrantを入れる - 今日学んだこと

お名前.comのVPS(CentOS6.5)にJenkinsを入れる - 今日学んだこと

お名前.comのVPS(CentOS6.5)にAnsibleを入れる - 今日学んだこと

VirtualBoxのグループにJenkinsを追加

JenkinsからVirtualBoxを起動できるように、ユーザーを追加します。

jenkinsユーザーをvboxusersに追加するだけです。

# gpasswd -a jenkins vboxusers
# id jenkins
uid=498(jenkins) gid=496(jenkins) groups=496(jenkins),0(root),497(vboxusers)

 Vagrant Pluginのインストール

Vagrant Pluginなんてものがあったので、こちらを入れてみます。

f:id:nakazye:20140905002840p:plain

その他、後で利用するのでgit pluginもインストールします。

→後述しますがダメでした!よって、git pluginだけ入れる事になります

VagrantFileの用意&githubに配置

ローカルでVagrantFileを用意します。そして、githubにあげて、Jenkinsから読める様にします。

$ pwd
/Users/username/Project/DevMachine
$ vagrant box add ubuntu14_4 https://vagrantcloud.com/ubuntu/trusty32/version/1/provider/virtualbox.box

といった形で、適当なプロジェクトフォルダを作成し、まずはubuntuのboxをaddします。完了したら、そのままinitします。

$ vagrant init ubuntu14_4

 そうすると、今いるフォルダにVagrantFileができてるはずなので、vi等で開いて編集します。そして、config.vm.boxの下あたりに、boxファイルの取得先を以下の様な感じで追加します。

config.vm.box_url = "https://vagrantcloud.com/ubuntu/trusty32/version/1/provider/virtualbox.box"

なお、当初CentOSの導入を考えていたのですが、VPS上で起動してくれず、やむなくubuntuに変更しています。いつも使いと違うディストリビューション使うのも勉強になるかなと言い訳しつつ・・・

これでVagrantFileができたので、githubに上げます。

f:id:nakazye:20140905014609p:plain

 プロジェクトの設定

Jenkinsでプロジェクトを作ります。設定はこんな感じでしょうか。

f:id:nakazye:20140905021101p:plain

 ・・・で、何度か試したのですが、ダメでした。代わりに、以下のような設定に変更。

f:id:nakazye:20140905022948p:plain

すると・・・

f:id:nakazye:20140906131122p:plain

時間かかってますが、ブートに成功しています!

次は、このブートしたものに対してJenkinsからAnsible経由でカスタマイズを加えます。