Closed shindooo2 closed 8 years ago
タカシブル。レビューしました。
文章良い感じやったから、編集なしでマージしました。
Ansibleも未経験でしたが、タカシブルのドキュメントを参考に、 Mac + Ubuntu に Apacheインストール、Apache起動まで確認できました。
playbookの構成定義もYAMLで定義できるんすね。 シンプルで良いかんじでした。
最近は仮想環境でLinuxサーバ構築することが多いですが、 Vagrantでも簡単なミドルウェアのセットアップ(プロビジョニング?)できるし、 Dockerでミドルウェアのコンテナ化(村山語)してインフラも準備できるし、 Chefとか、Ruby界隈だとCapistranoとか、 何を使うのが正解なんでしょうね。
ちなみに大西さんはHeroku使うそうです。Gitでデプロイするだけってさ。
大西きましたよ。
Bitbucket→wercker→Heroku ッて感じでデプロイさせてるね。
werckerは、Bitbucketなどのコミット監視して、決まった作業をすることが出来るサービスね。 ※調べたらすぐ見つかるからぐぐってね。
案件で使ってるやりかた以下です。 【前提】 リポジトリに以下ブランチを作成してる。 feature/xxxx ブランチ #開発作業用ブランチ masterブランチ #ステージング用 releaseブランチ #本番リリース用
例1)検証環境へデプロイ 開発ブランチからmasterブランチへマージ →werkerがmasterブランチをフック →Heroku(ステージング環境)のmasterブランチにマージ →Herokuデプロイされる
例2)本番環境へデプロイ masterブランチ(または開発ブランチ)から、releaseブランチへマージ →werkerがreleaseブランチをフック →Heroku(本番環境)のmasterにpush →Herokuデプロイされる
って感じかな。 Herokuならではって感じですね。 AWSには、普通にCapistrano使っってるよ!
レビューありがとうございました。
たしかにサーバ構築周りのツールもいろいろあって悩ましいです。 同種のツールを規模・用途で使い分けたり(中小規模はAnsibleで大規模はChef?)、 ツールの組み合わせを考えたり(Vagrant × Ansible × Docker? Chef × Capistrano?) する必要があるんでしょうね。
それも含めて今後もいろいろ調べていきたいと思います。
大西さん とりあえずwerkerぐぐりました。CIの外部サービスってけっこうあるんですね。あまり知りませんでした。 実際の案件でスマートに運用されているようで興味深いです。さすがスマートさん。
成果物をひと通り作成しましたので、プルリクさせていただきます。