switchtower使用メモ
Switchtowerを使ってみてます。
一回設定すると以降は何も考えずにdeployできる、またその"一回設定"自体もすごく簡単ということで、衆目を集めるかどうかは別としてもすごく現場的な、いいツールだなぁ、と思ってます。
ちょっと使ってみたメモ。
sshクライアント側の設定
sshのログインはrake deployする人の環境そのままで実行する感じになります。ですからSSH2+秘密鍵認証オンリーの場合でも(秘密鍵のパスフレーズは入力する必要はありますが)問題なく使えます。
パスワードの使われ方
sshでパスワード認証の場合、sudoをするときにもログインのパスワードを使ってほしい、と思ってたんですが、別々にきかれますので(勝手にsudoパスワードとして使ったりしない)ご安心を。
当然といえば当然ですけど、勝手にやってくれないかなぁ、と期待してsshのパスワード認証を有効にしてみたんですが、意味がありませんでした。ログイン時とsudoのタスク実行時、それぞれでパスワードを聞かれます。
画面出力回りのバグ?わたしの環境がおかしい?
画面出力がちょっと崩れてしまっている感じです。たまにパイプでlvしても、出力の一部が書けていたりしてました。わたしのterm依存かもしれません。
アプリ配置の設計とか
アプリ配置と、そのファイルの所有権回りでちょっとはまりました。railsアプリ本体やその関連ディレクトリ(ログとか)はhttpdの実行ユーザにすることが多いと思います。またSwitchtowerに設定する、ログイン&入れ換え作業用ユーザはhttpdユーザではないことが多いでしょう。
その場合に、
- アプリ全体をhttpd実行ユーザにしておくと、Switchtowerから更新できない。
- アプリ全体を作業用ユーザにしておくと、ログが出せない(またはfcgiから実行ファイルが見えず起動すらできない)
という事態になります。というかなりました。
ということでいくつかカスタムタスクを作ってみました。別掲。