質問

capistranoを介して展開が行われるたびに(ローカルまたはリモートサーバーに保存された)ログを保持する方法はありますか?過去の任意の時点で実行されていたリビジョンの記録を保持しておくと非常に便利です。

リリースプロセスでは、リリースディレクトリにある最後の10展開の展開済みファイルが残ることはわかっていますが、より多くの履歴を保持し、フラットファイルの形式でアクセスできるようにすると便利です。

役に立ちましたか?

解決

capistranoは、ファイルにダンプできる latest_revision と呼ばれる便利な変数をいくつか設定します。

task :mark_revision do
  log = "#{deploy_to}/revisions.log"
  run "(test -e #{log} || touch #{log} && chmod 666 #{log}) && " +
  "echo #{latest_revision} >> #{log};"
end

他のヒント

機能は組み込まれていないため、他の答えは完全に機能します。何らかの方法でデフォルトの実行チェーンにアタッチする必要があると言うかもしれませんが、次のようなものをお勧めします

after :deploy, :mark_revision

より良いまだ私見のようになります:

after :deploy do
    log = "#{deploy_to}/revisions.log"
    run "(test -e #{log} || touch #{log} && chmod 666 #{log}) && " +
    "echo #{latest_revision} >> #{log};"
end

私はそれをCapistranoのバグトラッカーに関する議論のチケットとしてオープンしました。より良いログを保持するためにコアに何かを実装するかもしれません。それは私たちが厳しく見落としていた確かに素晴らしい質問です!

Peritor Labsの「Webistrano」は、データベース駆動型のWebフロントエンドを維持することにより、似たようなことを行います。多くの場合、人々はCIサーバーでWebistranoを使用します。セルフホスティングの場合はリポジトリホストを使用します。 Tracの詳細: http://labs.peritor.com/webistrano

バグは次の場所にあります: https:// capistrano。 lighthouseapp.com/projects/8716-capistrano/tickets/98-log-deployments

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top