switchtower使用メモ

Switchtowerを使ってみてます。
一回設定すると以降は何も考えずにdeployできる、またその"一回設定"自体もすごく簡単ということで、衆目を集めるかどうかは別としてもすごく現場的な、いいツールだなぁ、と思ってます。

ちょっと使ってみたメモ。

sshクライアント側の設定

sshのログインはrake deployする人の環境そのままで実行する感じになります。ですからSSH2+秘密鍵認証オンリーの場合でも(秘密鍵パスフレーズは入力する必要はありますが)問題なく使えます。

パスワードの使われ方

sshでパスワード認証の場合、sudoをするときにもログインのパスワードを使ってほしい、と思ってたんですが、別々にきかれますので(勝手にsudoパスワードとして使ったりしない)ご安心を。
当然といえば当然ですけど、勝手にやってくれないかなぁ、と期待してsshのパスワード認証を有効にしてみたんですが、意味がありませんでした。ログイン時とsudoのタスク実行時、それぞれでパスワードを聞かれます。

画面出力回りのバグ?わたしの環境がおかしい?

画面出力がちょっと崩れてしまっている感じです。たまにパイプでlvしても、出力の一部が書けていたりしてました。わたしのterm依存かもしれません。

アプリ配置の設計とか

アプリ配置と、そのファイルの所有権回りでちょっとはまりました。railsアプリ本体やその関連ディレクトリ(ログとか)はhttpdの実行ユーザにすることが多いと思います。またSwitchtowerに設定する、ログイン&入れ換え作業用ユーザはhttpdユーザではないことが多いでしょう。
その場合に、

  • アプリ全体をhttpd実行ユーザにしておくと、Switchtowerから更新できない。
  • アプリ全体を作業用ユーザにしておくと、ログが出せない(またはfcgiから実行ファイルが見えず起動すらできない)

という事態になります。というかなりました。
ということでいくつかカスタムタスクを作ってみました。別掲。