VagrantとchefとjenkinsでローカルCIサーバーを作成する~リベンジ編~
以前VagrantとchefとjenkinsでローカルCIサーバを立てることに挑戦したのですが、あえなく途中で挫折...!!
そんなわけで今回はリベンジ編ということで書いていきます。
- cookbookの用意
- Vagrantfileの編集
- Apacheの設定
- jenkinsの起動
以上の流れで書いていきます。
cookbookの用意
このリンクheavywater/chef-jenkins · GitHubからcloneしてきます。
具体的には
git clone git@github.com:heavywater/chef-jenkins.git
これでOK!
次はVagrantとchefで簡単お手軽ローカル環境構築 - nigoblogでインストールしたcookbookからapache2とjavaを引っ張ってきてコピー
jenkinsはjavaが必要です。現在cookbookはこんな感じ。
cookbooks/ apache2/ java/ jenkins/
Vagrantfileの編集
Vagrantfileを次のように編集します
Vagrant::Config.run do |config| config.vm.box = "CentOS-5.8" config.vm.network :hostonly, "192.168.33.10" config.vm.provision :chef_solo do |chef| chef.cookbook_path = "cookbooks" chef.add_recipe("apache2") chef.add_recipe("java") chef.add_recipe("jenkins") end end
単純にrecipeにjavaとjenkinsを追加しただけです。
Apacheの設定
今回はここがメイン。
Apacheの設定でアクセスすると自動的にjenkinsが開くようにします。
まずはsshコマンド
vagrant ssh
でvagrant内のcentosにアクセスします。
さて…ここからがめちゃくちゃ大変でネットサーフィンしまくりました。
参考にしたURLはこちら
Apache2+Jenkins - Horowitzの開発メモ
Jenkins を CentOS 6.3 にインストール - 俺の成長日記
Setup – Apache and Jenkins « Some thoughts, ideas and fun!!!
Installing Jenkins on Ubuntu - Jenkins - Jenkins Wiki
まずはjenkinsの設定から
vi etc/default/jenkins
このファイルの真ん中らへんに
-- 元々あるとこ -- HTTP_HOST=centos58 HTTP_PORT=8080 ---------------- # JENKINS_ARGS="--webroot=/var/run/jenkins/war --httpPort=$HTTP_PORT --ajp13Port=$AJP_PORT" JENKINS_ARGS="--webroot=/var/run/jenkins/war --httpPort=$HTTP_PORT --ajp13Port=$AJP_PORT --prefix=/jenkins"
と追加します。
次にApacheの設定
sudo vi /etc/httpd/sites-available/jenkins
このファイルを次のように書きます。
<VirtualHost *:80> ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/ ProxyRequests Off <Proxy http://localhost:8080/*> Order deny,allow Allow from all </Proxy> </VirtualHost>
その後、jenkinsとapache両方を再起動
/etc/init.d/jenkins start /etc/init.d/httpd restart
でApacheの設定は完了!
先人達に感謝っす。。。
jenkinsの起動
vagrantfileでVMのアドレスを
192.168.33.10
と設定しました。
ここでhostsファイルを編集します。
sudo vim /etc/hosts
このファイルに
192.168.33.10 vagrant.ci.server.jp
とします。すると本体からvagrant.ci.server.jpというURLからVMにアクセスできます。
ここまでは以前までで、
このURLを
http://vagrant.ci.server.jp:8080/
とし、chromeなどに書きます。
するとjenkinsが起動されます。
こんな感じです。
というわけで次回、jenkinsで出来ることをどんどん伝えていきます!!
環境構築がものすごく大変なのは全部一緒ですね。
それから今回のことでApacheやらCentOSやらサーバーインフラをだいぶできたのは大きかった!
今後もっと知識を身に着けていきたいと思います!