概要
GitHub Actionsを使用し、GitHubからHerokuへの自動デプロイを設定する方法を記述致します。
前提条件
まず、以下の条件を満たしていることを確認して下さい。
- Heroku CLIがインストールされている。
- Herokuアカウントを所持している。
- HerokuにデプロイしたいアプリケーションがGitHubリポジトリに存在する。
方法
1. HerokuのAPIキーを取得
Herokuのダッシュボードにログインし、右上のアイコンをクリックし、「Account settings」を選択します。
そこで「API Key」セクションを見つけ、"Reveal"をクリックし、APIキーを表示します。
このキーをメモしておきます。
2. GitHubのリポジトリにSecretsを追加
リポジトリのメインページで「Settings」タブを選択し、「Secrets」をクリックします。
"New repository secret"をクリックして、新しいシークレットを追加します。
シークレットの名前は
-
HEROKU_API_KEY
とし、先程メモしたAPIキーを値として入力。 -
HEROKU_APP_NAME
というシークレットを作成し、その値としてHerokuアプリケーションの名前を入力。
3. GitHub Actionsのワークフローファイルを作成
GitHubリポジトリのルートに .github/workflows
というディレクトリを作成し、その中にワークフローファイル
(例えば、deploy.yml
)を作成します。
以下はそのワークフローファイルの一例になります。
name: Deploy to Heroku
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Login to Heroku
uses: akhileshns/heroku-deploy@v3.12.12 # This is the action
with:
heroku_api_key: ${{ secrets.HEROKU_API_KEY }}
heroku_app_name: ${{ secrets.HEROKU_APP_NAME }}
heroku_email: "your-email@example.com"
heroku_emailのところには`herokuで使用しているメールアドレスの置き換えて下さい。
これにより、GitHubのmainブランチにプッシュされると、新しいバージョンのアプリがHerokuに自動的にデプロイされるようになります。
4. ワークフローファイルをGitHubにプッシュ
以上の設定をリポジトリにコミットしてプッシュします。するとGitHub Actionsが自動的にワークフローを読み込み、設定に従ってアクションを実行します。
5. 実行の確認
実行されたことを確認するには、Githubのレポジトリのタブの「Actions」を参照して確認致します。
ここで、過去の実行されたワークフローを確認する事がし、完了です。
これがGitHub Actionsを使用してHerokuに自動デプロイする基本的な手順ですが、各プロジェクトの要件により設定内容が異なるため、必要に応じて適宜調整するとよいと思います。