Rails アプリケーションをデプロイする前に行う必要がある小さなこと

StackOverflow https://stackoverflow.com/questions/101066

質問

編集

Rails アプリケーションをデプロイする前に、見落としがちな小さなことは何ですか?

セットアップしました 別の質問 1 ~ 2 分以上かかるタスクは、展開プロセスにスケジュールする必要があります。この質問では、オンライン構成オプションなどに主に関心があります。これは実行できますが、デプロイメントまでは何の違いもないため、開発サイクル中に省略されることがよくあります。

役に立ちましたか?

解決

  • 使用している宝石を凍結する rake gems:unpack
  • のシークレットを変更します config/environment.rb
  • パスワードなどの機密情報をフィルタリングします。で app/controllers/application.rb filter_parameter_logging :password, :password_confirmation

他のヒント

  • DB が運用サーバー上にセットアップされていることを確認してください
  • アプリを適切にデプロイするために capistrano をセットアップする
    • capistrano のドライランを実行する
  • Rails がベンダー/Rails フォルダーにパックされていることを確認します。
  • すべての gem がアプリ内でフリーズしているか、本番サーバーにインストールされていることを確認してください
  • 本番マシンでテストを実行する
  • Google アナリティクス スニペット (または他のアナリティクス) を含める
  • チェックしてください 遅いクエリログ, 、そしてテーブル全体の走査を引き起こしているインデックスをモデルに追加します。

  • また

    grep -ril FIXME

ビュー キャッシュ、データベース構成、メンテナンス ページなど (ただしこれらに限定されない) アプリのデプロイされたコピー間で共有されるファイルとフォルダーを設定します。

これらは実際には Rails 固有のデプロイメントタスクではありませんが、デプロイされたシステムではこれらが見落とされているのを何度も見てきました。

  • バックアップ;確かに、これは最終的には大きな仕事になる可能性がありますが、そうする必要はありません。多くの場合、データベースとソフトウェアの夜間バックアップをスケジュールするだけで十分です。
  • 復元手順のテスト
  • ログのローテーションとアーカイブ
  • 例外通知
  • デプロイ先の場所で RAILS_ENV 変数が適切に設定されていることを確認してください。環境を通じて、または capistrano コールバックを通じて。
  • rake spec、Shoulda、単体テストなど、テストに使用しているものを実行して、テストがすべて合格していることを確認します。
  • rake gems:unpack を使用して gem を解凍します。
  • Rails をフリーズする必要があるかどうかを決定します。Rake レール:フリーズ:ジェム
  • gem 以外のものが必要な場合 (memcached、メール サーバーなど)、依存関係がサーバーにインストールされていることを再確認してください。
  • MySQL を使用している場合は、C ベースの MySQL ライブラリをコンパイルしてサーバーにインストールします (これには数分以上かかる場合がありますが、すべての依存関係が満たされていれば通常はかなり早く完了します)。
  • git を使用している場合は、コードを master ブランチにプッシュします。必要に応じてタグを付けます。
  • SVN を使用している場合は、リリースにタグを付けます。
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top