Ruby: 本番環境へのデプロイ
数分でRubyコードを本番環境にデプロイする方法
👋 Stackheroのドキュメントへようこそ!
Stackheroは、数多くの利点を提供する、すぐに使えるRubyクラウドソリューションを提供しています。
- シンプルな
git pushでアプリケーションを数秒でデプロイ。- 独自のドメイン名を使用し、HTTPS証明書の自動設定による強化されたセキュリティを享受。
- 自動バックアップ、ワンクリック更新、そしてシンプルで透明性があり、予測可能な価格設定で安心を提供。
- プライベートで専用のVMによる最適なパフォーマンスと強固なセキュリティを実現。
時間を節約し、生活を簡素化:StackheroのRubyクラウドホスティングソリューションを試すのに5分しかかかりません!
StackheroのRubyクラウドホスティングサービスを利用すれば、強力なプラットフォームと直感的なユーザーエクスペリエンスを組み合わせ、Rubyプロジェクトをわずか数分で本番環境にデプロイできます。
以下のメリットがあります:
- シンプルな
git pushだけでコードをデプロイできます。 - 独自ドメインの利用が可能で、TLS証明書(HTTPS)の自動管理もサポートされています。
- アプリケーションは専用のプライベートVM上で稼働し、最高レベルのセキュリティとプライバシーを確保します。
- HTTP/2、TLS 1.3(HTTPS)、WebSockets、GZIPおよびBrotli圧縮、ETag、TCPおよびUDPポートアクセスなど、さまざまな機能に対応しています。
前提条件
Stackheroでプロジェクトをデプロイするために必要なのは、お使いのPCにGitがインストールされていることだけです。
<!--  -->複雑なローカル環境のセットアップを避けたい方や、時間を節約したい方は、StackheroのCode-Heroもご検討ください。
Code-Heroは、ブラウザから直接アクセスできる開発プラットフォームです。PC、タブレット、スマートフォンのいずれからでも利用可能で、VSCodeをベースにした環境に必要なツールがすべてプリインストール・プリセットされています。面倒なセットアップ不要で、すぐにコーディングを始められます。
Stackheroへのデプロイ手順
RubyアプリケーションをStackheroにデプロイする手順は非常にシンプルです。以下のステップに沿って進めていきます。
- StackheroでRubyサービスを作成します。
- Rubyサービスの設定にSSH公開鍵を追加します。
- 開発環境で
git pushコマンドを設定します。 - プロジェクトにMakefileを追加します。
- コードを本番環境にデプロイします。
デプロイ中に問題が発生した場合は、トラブルシューティングドキュメントをご参照ください。まず最初に確認することで、時間の節約やストレスの軽減につながります。
Stackhero for Rubyサービスの設定
まだStackhero for Rubyサービスを作成していない場合は、Stackheroダッシュボードから数分で作成できます。
Rubyサービスが稼働したら、次にSSH公開鍵を追加します。公開鍵は以下のコマンドで確認できます:
cat ~/.ssh/id_*.pub
まだSSH鍵をお持ちでない場合
以下のコマンドで生成できます:
ssh-keygen -t ed25519
SSH鍵を追加するには、StackheroダッシュボードでRubyサービスを選択し、「Configure」をクリックして、「SSH public keys」セクションに公開鍵を貼り付けてください。
<!--  -->ヒント:今後の作業を効率化したい場合は、SSH公開鍵をプロフィールに追加しておくと、新規サービス作成時に自動で反映されます。
ダッシュボード右上のプロフィール画像をクリックし、「Your profile」を選択して、SSH公開鍵を追加してください。
デプロイ用git pushコマンドの設定
StackheroへのデプロイはGit CLIとgit pushコマンドを利用するため、追加のツールは不要です。
Stackheroダッシュボードのサービスメインページからgit remoteコマンドをコピーできます。一般的には以下のような形式です:
git remote add stackhero ssh://stackhero@<XXXXXX>.stackhero-network.com:222/project.git
Stackheroデプロイ用Makefileの作成
Stackheroにアプリケーションの起動方法を伝えるため、プロジェクトのルートディレクトリにMakefileを作成します。このファイルには、デプロイ時にStackheroが実行するコマンドを定義します。
Makefileや
makeコマンドが初めての方もご安心ください。以下の手順で丁寧にご案内します。
以下の内容でMakefileを作成してください:
run:
rake assets:precompile
rake db:migrate RAILS_ENV=production
RAILS_ENV=production bundle exec puma -C config/puma.rb
このMakefileで行われていることは次の通りです:
runルールは必須で、Stackheroがデプロイ時に自動実行します。エントリーポイントとなるため、この名前は変更しないでください。- コマンドは
rakeやbundleを使っていますが、アプリケーションに合わせてカスタマイズ可能です。 - 各コマンド行の先頭はスペースではなくタブ文字で始めてください。
*** missing separatorのようなエラーが出た場合は、フォーマットを再確認してください。
上記の例では、デプロイ時に以下が実行されます:
- JavaScriptやCSSなどのアセットを
public/assetsディレクトリにプリコンパイルします。 - 必要なデータベースマイグレーションを実行します。
- Pumaサーバーを起動し、アプリケーションを提供します。
Rubyアプリケーションのデプロイ
準備が整いました。Stackheroにコードをデプロイするには、以下のコマンドを実行します:
git push stackhero main
初回実行時はSSH鍵のフィンガープリント確認が求められますので、「yes」と入力して進めてください。
しばらく待つと、アプリケーションが公開されます。
<!--  -->デプロイ後は、Stackheroダッシュボードに表示されているWebサイトURL(例:https://<XXXXXX>.stackhero-network.com)からアプリケーションにアクセスできます。
おめでとうございます。アプリケーションが本番環境で稼働を開始しました。
デプロイで問題が発生した場合は?
トラブルシューティングセクションを確認すると、素早く解決策が見つかります。
まとめ
Stackheroを使ったRubyコードの本番環境デプロイ方法について、シンプルかつ強力なプロセスを学んでいただきました。
さらに詳しく知りたい方は、高度なデプロイ活用法ドキュメントをご覧ください。異なるgitブランチや特定のタグ・コミットのデプロイ、ステージングや本番など複数環境の管理、環境変数の活用方法など、さまざまなトピックをカバーしています。
また、デプロイ中に何か問題が発生した場合は、トラブルシューティングドキュメントが効率的な解決に役立ち、スムーズなワークフローをサポートします。