Capistranoで変態ちっくなEC2用デプロイスクリプトEC2用に、ちょっと変態的(?)なデプロイスクリプトを組んだのでGithubに置いてみた。画面キャプチャーと一緒にご紹介します(・ω・)ノhttps://github.com/wgkoro/ec2helper※各キャプチャクリックで拡大しますこのスクリプトでdeployを実行すると1.指定したNameを持つインスタンスを探して、起動しているかチェック。Stopしていればたたき起こす。起こした後、デプロイ実行していいか尋ね、OKであればCapistranoでデプロイ実行。2.デプロイが終了したらスナップショットを作成。Capistranoのrollbackもできます。1.指定Nameのインスタンスの起動チェック、ロールバック実行。2.以前作成したスナップショットも一緒に削除(削除実行前に確認アリ)。※スナップショット作成/削除機能はbotoを使ってEBSをバックアップ(世代管理つき)のスクリプトを使わせてもらいました。boto)スポンサーリンク使う前の準備Githubから一式をダウンロードec2helperの中に入っているconfig.pyを開きます。辞書AWS_DATAの’default’欄にAWSアカウントのアクセスキー、シークレットキーを記入します。regionは、AWS_DATAの上にある辞書REGIONのキーを入力して下さい。(東京なら”t”)複数のアカウントがある場合は、AWS_DATAに追加しておくと便利です(・ω・)ノdeploy_example.pyを開きます。===」で囲まれている部分を編集して下さい。capistrano-extで使用する環境別引数を記述します。スナップショットを取る場合、コメントアウトを外して名前を記述します。開発環境へデプロイする時もスナップショットを取る場合は、このコメントアウトを外します。capistrano-extで使用する環境別引数を記述します。スナップショットを取る場合、コメントアウトを外して名前を記述します。開発環境へデプロイする時もスナップショットを取る場合は、このコメントアウトを外します。False[/crayon]deploy.rbを編集します。デプロイ先サーバーを動的に変更できるようにします。role定義部分を下記のように書き換えて下さい。deploy:cleanupちなみにスナップショットを取るだけであれば、ec2helper/snapshot.py実行でOKだったりします。何でこんなものを作ったのか...いや、最初はCapistrano単体でいくつもりだったんです。IPをふっているインスタンスなら確かにcapコマンド単体でOK。ELBにぶら下げているインスタンスはIPふってない...。なるとホスト名を探して指定するのがめっちゃメンドイ(=ω=)。いうことをモンモンと考えていて、とうとう作ってしまった...。MongoDBで位置情報お手軽検索。コメントをキャンセルメールアドレスが公開されることはありません。コメント名前メールアドレスサイトスパム対策のため、コメントする際は下記の計算式を埋めてください。計算式の有効期限が切れました。計算式の隣にある再読み込みボタンを押してください。コメントデータの処理方法の詳細はこちらをご覧ください。このブログについてころすけと申します。関東でプログラマーをしています。JavaScriptあたりがお気に入り。当ブログでは私が作ったもの、考えたこと、撮影したものなど、全てをごった煮で書き綴るブログです。よろしければおつきあい下さいませ。プロフィールについて、詳しくはコチラへどうぞ。