LoginSignup
0
0

More than 1 year has passed since last update.

GitHub ActionsでHerokuへ自動デプロイ

Last updated at Posted at 2023-06-06

GitHub ActionsのWorkflowを使ってgithub上でマージを行なった際に自動でHerokuへのデプロイを行う 設定を追加してみたので、手順を共有します。

具体的な手順

1. GitHubリポジトリにデプロイ用の設定ファイルを作成する

リポジトリのルートディレクトリに.github/workflows/deploy.ymlという名前のファイルを作成します。

2. デプロイ用の設定ファイルに必要なコードを追加する

.github/workflows/deploy.yml
name: DeployToStaging

on:
  push:
    branches:
      - staging

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: akhileshns/heroku-deploy@v3.12.13
        with:
          heroku_api_key: ${{secrets.HEROKU_API_KEY}}
          heroku_app_name: "app-name"
          heroku_email: ${{secrets.HEROKU_EMAIL}}

上記のコードでは、pushイベントが発生し、stagingブランチにプッシュされた場合にのみデプロイがトリガーされます。

デプロイはubuntu-latestランナーで実行されます。actions/checkoutアクションを使用してコードをチェックアウトし、akhileshns/heroku-deployアクションを使用してHerokuへデプロイします。

Herokuへのデプロイには、GitHub Secretsで設定した変数HEROKU_API_KEYHEROKU_EMAILが必要です。

注意事項

この自動デプロイが実行されると、heroke上の使用ブランチが自動的にmasterブランチからmainブランチに変わるらしいです。masterで運用している方はご注意ください。

参考: https://github.com/marketplace/actions/deploy-to-heroku#important-note

3. Heroku APIキーの取得 / GitHub Secretsの設定

Heroku APIキーを取得するためには、Herokuのダッシュボードにログインし、

[Account settings] -> [API Key]

のセクションに移動します。APIキーをコピーして、GitHubリポジトリの

[Settings] -> [Secrets]

に移動し、HEROKU_API_KEYという名前で新しいシークレットを作成し、コピーしたAPIキーを値として追加します。

また、サンプルコードではメールアドレスが必要でHEROKU_EMAILという名前で新しいシークレットを作成し、対応する値を追加します。

まとめ

上記の手順を完了すると、GitHub Actionsが自動的に設定され、stagingブランチへのプッシュがトリガーとなり、Herokuへの自動デプロイが行われます。

各プッシュイベントで自動的にデプロイが行われ、アプリケーションが最新のコードで更新されるようになります。

注意: デプロイの設定や詳細な手順は、環境や要件によって異なる場合がありますので、公式のドキュメント等を参照してください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0