- 公開日:2015年05月28日
最近何度かjenkinsを構築する機会があったので、手順化しました。
chefを使ったjenkinsの構築方法です。
環境
- centos6.5(vagrant)
chefのインストール
chefdkを使ってchefをインストールします。
# install chef dek sudo rpm -ivh https://opscode-omnibus-packages.s3.amazonaws.com/el/6/x86_64/chefdk-0.3.5-1.x86_64.rpm # temporary setting path export PATH=/opt/chefdk/embedded/bin:$PATH # knife install chef gem install knife-solo
安定しているchef11系を利用します。
cookbookの用意
knife solo init chef-repo
knife soloでリポジトリを作成しています。knife zeroでも問題ありません。
Berkfileの記述
site :opscode cookbook 'java' cookbook 'jenkins'
javaはversion8を利用するので、jenkinsのopscodeとは別に導入します。
Berkfile実行
berks vendor cookbooks
Berksfile.lockが作成されます。私の環境では以下のようになりました。
DEPENDENCIES java jenkins GRAPH apt (2.7.0) java (1.31.0) jenkins (2.3.1) apt (~> 2.0) runit (~> 1.5) yum (~> 3.0) packagecloud (0.0.18) runit (1.6.0) packagecloud (>= 0.0.0) yum (3.6.0)
role作成
jenkins用のroleを用意します。
{ "name": "jenkins", "default_attributes": { }, "override_attributes": { "java": { "install_flavor": "oracle", "jdk_version": "8", "java_home": "/usr/local/java", "oracle": { "accept_oracle_download_terms": "true" } } }, "chef_type": "role", "json_class": "Chef::Role", "run_list" : [ "recipe[java]", "recipe[jenkins::master]" ] }
ファイル名はroles/jenkins.jsonにします。
enviroment作成
開発用のenviromentを用意します。jenkinsだからproductでいいのかもしれません。好みですかね。
{ "name":"development", "chef_type": "environment", "json_class":"Chef::Environment", "description":"web server role", "default_attributes": {}, "override_attributes": {} }
node作成
{ "environment": "development", "run_list": [ "role[jenkins]" ], "automatic": { "ipaddress": "192.168.33.50" } }
ipaddressは立ち上げているvagrantのipaddressです。
実行
knife solo cook 192.168.33.50
確認(java)
java -version java version "1.8.0_31" Java(TM) SE Runtime Environment (build 1.8.0_31-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)
確認(jenkins)
http://192.168.33.50:8080/
10分でjenkinsが動かせます。とはいえ、pluginは自力で入れないと画面に反映されないので、地道に導入していきましょう。
以上
*注意*chefのopscodeは自分用のrecipeを書くときにも非常に参考になります。
しかし、このjenkinsのopscodeはひどいコードなのでマネをしてはいけません。別の読みやすいコードを参考にしましょう
参考サイト
- vagrant-berkshelfでjenkinsをインストールする
- Chef Solo の Environments
- Javaをインストールする [Chef]
- chef-soloでさくらVPSにJenkinsを立ててみる。
0 件のコメント:
コメントを投稿