Life is Really Short, Have Your Life!!

ござ先輩の主に技術的なメモ

Ansibleすげー面白い

やっぱりコードでインフラを設定できるっていいね・・・!

「サーバー構築手順書.md」から卒業したくてサーバー構成ツールを試そうとずっと思ってて、MBPを買った時にchef-solo入門も買ったんですけど、chef-serverとかchef-soloとかknife-soloとかだるいわ・・・と。vagrantの環境構築するだけやからもっとシンプルなのが欲しいってことでAnsibleに手を出し、こちらのkindle書籍を買った。

入門Ansible

入門Ansible

いや、最初はわからへんかったけど、1回でもplaybookを書いて実行できるとすげー面白い。鍵管理を厳密にやればいろいろ必要なんだろうけどPHPのWebアプリ開発で必要な作業って、

ホンマはiptableとかSSHの鍵を前準備したものと使うとかあるんやろうけど。Vagrantだけならこれでも、と。1日で大体出来た。

次はデプロイ用のplaybook. Capistranoとかもうだるい。rails興味ねーし。flaskやってみたいし。Cakeは3.0になるとオワコン臭がすごくなりそうでちょっと不安。CakePHPの場合はすげー簡単に考えると、

  • current,releaseのディレクトリを作る
  • releaseディレクトリにapp名+タイムスタンプのディレクトリ作る
  • gitレポジトリからチェックアウトしてサブモジュールもあるならinit && update
  • currentの作ったreleaseディレクトリのlnを貼って、app/tmp/*を777にする
  • マイグレーション等があればうpが終わったあとに行う
  • releaseフォルダ溜まったらrf -rfで昔のは消す

ん、でもこれよりはクライアント側でgitして/tmpにタイムスタンプ.gz上げてそれをサーバーサイドで解凍してmvの方がええな。サーバが増えることを考えるとな。

これで簡単デプロイツールの出来上がり。いろいろ試してみよう。