Ruby on Rails

デプロイと本番環境

Capistrano、Docker、Heroku、AWS、database.yml、credentials.yml.enc、アセットのプリコンパイル、ゼロダウンタイムデプロイ

20 面接問題·
Senior
1

本番環境へのデプロイ前にRailsのアセットをプリコンパイルするには、どのコマンドを使用しますか?

回答

rails assets:precompileコマンドは、すべてのアセット(JavaScript、CSS、画像)を、キャッシュバスティング用のフィンガープリントを付与した最適化済みファイルにコンパイルします。このステップは、アセットを効率的に配信できる状態にするために、本番環境へのデプロイ前に不可欠です。RAILS_ENV=production変数により、コンパイルが本番環境の設定を使用することが保証されます。

2

Rails 7+は、本番環境用の暗号化されたcredentialsをどのファイルに保存しますか?

回答

Rails 7+は、シークレットを暗号化して保存するためにconfig/credentials.yml.encを使用します。このファイルはmaster keyで暗号化されているため、リポジトリにコミットできます。特定の環境向けには、独自の復号鍵を持つconfig/credentials/production.yml.encもサポートしています。

3

Rails のデプロイワークフローにおける Capistrano の主な役割は何ですか?

回答

Capistrano は、SSH 経由でリモートサーバー上のコマンドを実行するデプロイ自動化ツールです。symlink システムでリリースを管理して即座のロールバックを可能にし、migration の実行、asset のプリコンパイル、アプリケーションサーバーの再起動を行います。バージョン管理されたリリースというアプローチによってデプロイの管理が簡単になります。

4

Rails のコードから credentials.yml.enc に保存された認証情報にアクセスするにはどうすればよいですか?

5

本番環境で複数のリードレプリカを管理できるようにする database.yml の設定はどれですか?

+17 面接問題

次の面接に向けてRuby on Railsをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める