LoginSignup
1
2

More than 1 year has passed since last update.

DockerのイメージをGithub ActionsでHerokuにデプロイする

Last updated at Posted at 2022-05-28

個人で開発しているWebサービスのバックエンドをHerokuで構築しているのですが、ある時、「いちいちデプロイするのめんどくね?」と感じた。。。

Dokcerのイメージを自動でHerokuにデプロイしてくれる方法はないかと模索していると、どうやらGithub Actionsで出来るらしい。

そんなところで、今日はタイトルにも書いてあるとおり、DokcerのイメージをGithub Actionsを使ってHerokuに自動でプロイしていきます。

Actionsの設定ファイル

.githubディレクトリを作成し、その中にworkflowsというディレクトリを作成する。

$ mkdir .github && mkdir .github/workflows

その.github/workflows内で任意の名前のyml形式のファイル名を作成。

この記事ではdeploy-heroku.ymlとします。

$ touch .github/workflows/deploy-heroku.yml

中身は以下をコピペ

deploy-heroku.yml
# Your workflow name.
name: Deploy to heroku.

on:
  push:
    branches: [main] # デプロイするブランチ名を選択

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2

      - name: Build, Push and Release a Docker container to Heroku.
        uses: gonuit/heroku-docker-deploy@v1.3.3
        with:
          email: ${{ secrets.HEROKU_EMAIL }}
          heroku_api_key: ${{ secrets.HEROKU_API_KEY }}
          heroku_app_name: ${{ secrets.HEROKU_APP_NAME }}
          dockerfile_directory: ./
          dockerfile_name: Dockerfile
          docker_options: "--no-cache"
          process_type: web

環境変数の設定

デプロイするリポジトリのSettingsページを開き、左のメニューのSecretページを開く。

image.png

そして、「New repository secret」ボタンを押し以下の環境変数をとそれに対する値を追加。

HEROKU_EMAIL ログインメールアドレス
HEROKU_API_KEY APIキー(https://dashboard.heroku.com/account)
HEROKU_APP_NAME デプロイするアプリ名

これらの設定が完了したら設定ファイル等をプッシュする。

リポジトリの「Actions」タブからビルドおよびデプロイされているかを確認してください。

最後に

最近個人の開発でチームで開発しているのですが、Githubの利便性に日々感謝しております。

今回のGithub Actionsも「これも無料で使えるのか!」と驚きを隠せませんでした。

Herokuに自動デプロイすることで、日々開発効率がグッと上がりますね。

同じ境遇の方の助けになれれば幸いです。

何かご不明点等あればコメントにお知らせください。

以上、「DockerのイメージをGithub ActionsでHerokuにデプロイする」でした。

Thank you for reading.

参考文献

1
2
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
1
2