Aizu.LT::Tokyo #41. 環境構築自動化ツール
Chef を試してみた
Aizu.LT kanagawaWithIndex:1
2013/3/30 at uPhyca inc.
Taku Unno
DWANGO Co,. Ltd
boscoworks@gmail.com
2. Profile
? 海野 拓 (Taku Unno)
? 2004-2008 会津大学 (画像処理学講座)
? 2008-2012 Yahoo!JAPAN
? Yahoo!バラエティ、Yahoo!ニュース、Yahoo!ロコ
? 2012/4-Now Dwango
? RCP、許諾楽曲開発、NicoSound、マーケティング
? Mail: boscoworks@gmail.com
? Facebook: http://on.fb.me/yDZ2XO
6. 開発マイルストーン
? PDCA サイクル
? Plan, Do, Check, Act
? 企画?設計
? 開発?テスト
? リリース
? 性能評価?マーケティング
? 改善
? 今日はリリースの話です
7. How to deploy?
? 独自シェルスクリプト
? SCP
? svn switch
? rake
? kickstart
? Puppet
? yinst
14. 構成要素
? Cookbook (ソフトウェアを構築するための手順ひとま
とめ)
? Recipe (実行内容を記述するスクリプト)
? Attribute (変数の定義)
? Template (テンプレートファイル)
? Resource (処理の抽象化)
? Role (Recipeを組み合わせて役割として定義)
? Node (管理対象のクライアントマシン)
16. chef.json
{
"run_list": [
"recipe[php::php]",
"recipe[php::apache]",
"recipe[php::phpunit]”
]
}
19. OSによる条件分岐
package "php5-cli" do
case node[:platform]
when "ubuntu"
package_name "php5-cli"
when "centos"
package_name "php53"
end
action :install
not_if "which php"
end
24. Attribute を Template で使う
? Template
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName <%= node[:server_name] %>
DocumentRoot /home/boscoworks/public
…
26. Attribute を Recipe で使う
? Recipe
execute "tar" do
command "tar jxvf /tmp/httpd-#{node.httpd_version}.tar.bz2 -C /tmp/"
only_if do
File.exists?("/tmp/httpd-#{node.httpd_version}.tar.bz2")
end
…
29. 参考文献
? Chef wiki
? http://wiki.opscode.com/display/chef/Home
? Opscode Community
? http://community.opscode.com/cookbooks
? 日本Chefユーザー会
? https://www.facebook.com/japan.chef.users.group
? Chef でサーバ管理を楽チンにしよう!
? http://jp.rubyist.net/magazine/?0035-ChefInDECOLOG
? Chef を試してみた
? http://higelog.brassworks.jp/?p=643
? ChefでCookbookを作るときのちょっとしたコツ 9選
? http://heartbeats.jp/hbblog/2013/01/chef-cookbook-tips.html
? chef-soloで環境設定
? http://tdoc.info/blog/2012/05/08/chef_solo.html
30. ご清聴ありがとうございまし
た
Taku Unno
DWANGO Co,. Ltd
boscoworks@gmail.com
http://on.fb.me/yDZ2XO