Ruby: SSH キーの設定

このドキュメントはGitHub Actions でデプロイするガイドの一部です。完全なガイドはこちらからご覧いただけます:GitHub Actions を使って Ruby コードをデプロイする方法

👋 Stackhero ドキュメントへようこそ!

Stackhero では、すぐに使える Ruby cloud ソリューションをご提供しています。主な特長は以下の通りです:

  • シンプルな git push だけで、数秒でアプリケーションをデプロイできます。
  • 独自ドメイン名をご利用いただけ、HTTPS 証明書の自動設定による高いセキュリティを実現します。
  • 自動バックアップワンクリックアップデート、そしてシンプルで透明性のある予測可能な料金体系で安心してご利用いただけます。
  • プライベートかつ専用インフラによる最適なパフォーマンスと堅牢なセキュリティを確保しています。

時間を節約し、運用をシンプルに:Stackhero の Ruby cloud hosting ソリューションは、わずか5分でお試しいただけます!

GitHub Actions からコードをデプロイできるようにするには、SSH キーを設定する必要があります。これにより、認可されたアクションのみが Stackhero サービスへ接続でき、デプロイのセキュリティが確保されます。

以下のコマンドで新しい SSH キーペアをローカルで生成します:

ssh-keygen -C "" -f /tmp/ssh_key -N ""

次に、作成した公開鍵を取得します:

cat /tmp/ssh_key.pub

Stackhero ダッシュボードで「production」Ruby サービスを選択し、「Configure」ボタンをクリックします。 サービス設定の取得サービス設定の取得

その後、

  1. SSH public keys の下で Add a public key をクリックします。
  2. Description には GitHub Action と入力します。
  3. Key には、先ほど取得した公開鍵の内容を貼り付けます。

サービス設定の取得サービス設定の取得

次に、GitHub のウェブサイトでプロジェクトを開きます。

Settings > Environments へ進み、New environment をクリックします。 GitHub 環境の設定GitHub 環境の設定

環境名を「production」として保存します。 環境の設定環境の設定

No restriction ボタンをクリックし、Selected branches and tags を選択します。 環境制限の設定環境制限の設定

Add deployment branch or tag rule をクリックし、パターンに「production」と入力してルールを追加します。 環境ブランチの設定環境ブランチの設定 環境ブランチの設定環境ブランチの設定

SSH 秘密鍵を安全に保存するため、Environment secretsAdd secret をクリックします。 シークレットの追加シークレットの追加

ローカルで秘密鍵を取得します:

cat /tmp/ssh_key

Name には STACKHERO_SSH_PRIVATE_KEYValue には秘密鍵の内容を貼り付けます。 SSH 秘密鍵シークレットの設定SSH 秘密鍵シークレットの設定

続いて、Ruby サービスのエンドポイントを環境変数として追加します。Environment variablesAdd variable をクリックします。 変数の設定変数の設定

Name には STACKHERO_ENDPOINTValue には Stackhero ダッシュボードで確認できる Ruby サービスのエンドポイントを入力します。 エンドポイント変数の設定エンドポイント変数の設定

サービスにカスタムドメイン名を設定している場合は、<XXXXXX>.stackhero-network.com の代わりにそのカスタムドメインを必ずご利用ください。

Stackhero および GitHub へのキー登録が完了したら、セキュリティのためローカルのキーを削除してください。

rm /tmp/ssh_key /tmp/ssh_key.pub