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.

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

3,608 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/

×