blogこの広告は、90日以上更新していないブログに表示しています。capistranoRailsアプリのデプロイツールとしてデファクトスタンダード的な位置にあるCapistranoについて。TL;DRHOSTSとROLESではなく、HOSTFILTERとHOSTROLEFILTERを使え。タスクの実行先制限方法Capistranoは、デプロイ先サーバに"ロール"を設定し、特定のロールに所属するサーバ全てに対して一括でなにかしらの処理を実行させることができる。webserver2に対してのみdo_somethingタスクを実行するなにこれ便利!しかし、時には特定のサーバに対してのみタスクを実行したい場合もある。新しいサーバを追加したときはそのサーバに対してだけデプロイしたいだろう。この場合、やり方は4つある。do_somethingどれも指定したサーバないし指定したロールに所属するサーバに対してのみタスクを実行させる。日本語圏の技術ブログで紹介されているのは大抵HOSTSとROLESであるが、個人的にはこれらはお勧めできない。タスクに定義しているロール制限を完全に上書きしてしまうからである。次のようなことができる。DBサーバに対してmaintを実行できてしまう!タスクのロール制限は必要があって定義してあるのだから、おいそれと無視して良いはずが無い。HOSTFILTERとHOSTROLEFILTERはタスクのロール制限でサーバを絞り込んだ結果に対して、追加で絞り込みをかける、という動作をする。そのため、より安全である。タスク側の設定でWebサーバに制限されるため、そこからDBサーバを選ぶことはできないコンソールへの入力ミスで意図しないサーバに対してタスクを実行してしまう危険性が軽減されるので、HOSTFILTERとHOSTROLEFILTERを使ったほうが安全である。4」を書いたCapistranoでタスクの実行対象サーバを絞り込む方法GitをHTTP経由で使うときのパスワードを安全に扱いたい月別アーカイブはてなブログをはじめよう!idesakuさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。