Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
#ccc_g11
Copyright 2017 Hiroyuki Onaka
この作品は クリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。
Chefのいいとこ
そうでないとこ
2016/3/31 Tech-Cir...
#ccc_g11
Copyright 2017 Hiroyuki Onaka
• 大中浩行
• @setoazusa
• Chef歴3年
#ccc_g11
Copyright 2017 Hiroyuki Onaka
宣伝
4/9(日) アキバ・スクエア
「技術書典2」
あ-09「ふぃーるどのーつ」
来てね!
TDDの本出します!
#ccc_g11
Copyright 2017 Hiroyuki Onaka
Chef
#ccc_g11
Copyright 2017 Hiroyuki Onaka
いいところ
#ccc_g11
Copyright 2017 Hiroyuki Onaka
DSLの完成度が高い
user 'random' do
manage_home true
comment 'User Random'
uid '1234'
gid '...
#ccc_g11
Copyright 2017 Hiroyuki Onaka
業務向けのきめ細かい仕様
リソース内でファイルの書き換えを行った際の、
バックアップ取得など
#ccc_g11
Copyright 2017 Hiroyuki Onaka
環境ごとの出し分け
role/environmentによる、環境/仕様のバリ
エーションごとの属性出し分けがよく出来てい
る
#ccc_g11
Copyright 2017 Hiroyuki Onaka
rubyを覚えると応用が利く
Chef=ruby
serverspec=ruby
Vagrant=ruby
itamaeもrubyですし
#ccc_g11
Copyright 2017 Hiroyuki Onaka
そうでないと
ころ
#ccc_g11
Copyright 2017 Hiroyuki Onaka
Attributeの仕様が複雑怪奇
【Chef Solo】attributeはどう使い分けるべきか。 | Developers.IO
http://dev.class...
#ccc_g11
Copyright 2017 Hiroyuki Onaka
牙をむくruby
only_if { File.exists?("/path/to/must_exist") }
→rubyのブロックを渡していることになる。なので
...
#ccc_g11
Copyright 2017 Hiroyuki Onaka
ChefのDeveloperも間違える仕様
Use double quotes to expand variable. by azusa · Pull Request...
#ccc_g11
Copyright 2017 Hiroyuki Onaka
#ccc_g11
Copyright 2017 Hiroyuki Onaka
Vagrantからだと通ったはずが本番だとこける
Vagrantfileに書いたレシピ実行の記述と、chef
コマンド実行時のnode/role/environmen...
#ccc_g11
Copyright 2017 Hiroyuki Onaka
解決策
local.vm.provision :shell, :path =>
"provisioning-vagrant.sh", :args =>
["local...
#ccc_g11
Copyright 2017 Hiroyuki Onaka
まとめ
• あばたもえくぼ
• 使い込んでわかる良さ
• Let’s自動化
#ccc_g11
Copyright 2017 Hiroyuki Onaka
ありがとうございました!
• 大中浩行(Onaka,Hiroyuki)
• @setoazusa
• グロースエクスパートナーズ株式会社
アーキテクチャソリューション...
Upcoming SlideShare
Loading in …5
×

Chefのいいところそうでないとこ

2,878 views

Published on

2017/3/31 Tech-Circle #21 Premium Friday Itamae serverspec

Published in: Software
  • Be the first to comment

  • Be the first to like this

Chefのいいところそうでないとこ

  1. 1. #ccc_g11 Copyright 2017 Hiroyuki Onaka この作品は クリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。 Chefのいいとこ そうでないとこ 2016/3/31 Tech-Circle #21 Premium Friday Itamae serverspec 大中浩行(@setoazusa)
  2. 2. #ccc_g11 Copyright 2017 Hiroyuki Onaka • 大中浩行 • @setoazusa • Chef歴3年
  3. 3. #ccc_g11 Copyright 2017 Hiroyuki Onaka 宣伝 4/9(日) アキバ・スクエア 「技術書典2」 あ-09「ふぃーるどのーつ」 来てね! TDDの本出します!
  4. 4. #ccc_g11 Copyright 2017 Hiroyuki Onaka Chef
  5. 5. #ccc_g11 Copyright 2017 Hiroyuki Onaka いいところ
  6. 6. #ccc_g11 Copyright 2017 Hiroyuki Onaka DSLの完成度が高い user 'random' do manage_home true comment 'User Random' uid '1234' gid '1234' home '/home/random' shell '/bin/bash' password '$1$JJsvHslV$szsCjVEroftprNn4JHtDi' end
  7. 7. #ccc_g11 Copyright 2017 Hiroyuki Onaka 業務向けのきめ細かい仕様 リソース内でファイルの書き換えを行った際の、 バックアップ取得など
  8. 8. #ccc_g11 Copyright 2017 Hiroyuki Onaka 環境ごとの出し分け role/environmentによる、環境/仕様のバリ エーションごとの属性出し分けがよく出来てい る
  9. 9. #ccc_g11 Copyright 2017 Hiroyuki Onaka rubyを覚えると応用が利く Chef=ruby serverspec=ruby Vagrant=ruby itamaeもrubyですし
  10. 10. #ccc_g11 Copyright 2017 Hiroyuki Onaka そうでないと ころ
  11. 11. #ccc_g11 Copyright 2017 Hiroyuki Onaka Attributeの仕様が複雑怪奇 【Chef Solo】attributeはどう使い分けるべきか。 | Developers.IO http://dev.classmethod.jp/server-side/chef/attribute-overrides-pattern/
  12. 12. #ccc_g11 Copyright 2017 Hiroyuki Onaka 牙をむくruby only_if { File.exists?("/path/to/must_exist") } →rubyのブロックを渡していることになる。なので rubyスクリプトとして評価される only_if "grep httpd /etc/password“ → シェルスクリプトとして評価される Chef の only_if / not_if でハマった。 - Qiita http://qiita.com/kizashi1122/items/b68a0badab7056f89e71
  13. 13. #ccc_g11 Copyright 2017 Hiroyuki Onaka ChefのDeveloperも間違える仕様 Use double quotes to expand variable. by azusa · Pull Request #450 · chef/chef-web-docs https://github.com/chef/chef-web-docs/pull/450/files
  14. 14. #ccc_g11 Copyright 2017 Hiroyuki Onaka
  15. 15. #ccc_g11 Copyright 2017 Hiroyuki Onaka Vagrantからだと通ったはずが本番だとこける Vagrantfileに書いたレシピ実行の記述と、chef コマンド実行時のnode/role/environmentに書 いた記述との不整合
  16. 16. #ccc_g11 Copyright 2017 Hiroyuki Onaka 解決策 local.vm.provision :shell, :path => "provisioning-vagrant.sh", :args => ["local"] Vagrantfileからはshellプロビジョナーを呼び出 して、そのファイルの中からChefを実行する
  17. 17. #ccc_g11 Copyright 2017 Hiroyuki Onaka まとめ • あばたもえくぼ • 使い込んでわかる良さ • Let’s自動化
  18. 18. #ccc_g11 Copyright 2017 Hiroyuki Onaka ありがとうございました! • 大中浩行(Onaka,Hiroyuki) • @setoazusa • グロースエクスパートナーズ株式会社 アーキテクチャソリューション部 テクニカルリード • http://blog.fieldnotes.jp/

×