- 公開日: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 件のコメント:
コメントを投稿