1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Docker導入後のデプロイ

Last updated at Posted at 2024-03-01

概要

GitHub ActionsでHerokuに自動デプロイしようとして苦戦した話。
Dockerを使用してビルドしようとしたらハマったのでどなたかのご参考になれば。

開発環境

Docker 20.10.7
Docker Compose 1.29.2
Ruby on Rails 6.0.6.1

結論

DockerによるHeroku containerでのビルドは行わず、通常のビルドパックでデプロイしたら成功した。

経緯

Heroku上でDockerを利用したHeroku containerでのビルドを試みたが、うまくいかない。Heroku公式によると推奨していない方法らしく、通常のビルドパックによるビルドが推奨されていた。

思いっきりHerokuダッシュボードのsettingに書いてあったが、読めていなかった。
ビルドパックによるビルドを選択(nodejsとrubyのビルドパック)。

下記のコードでuserdocer: falseを記述してDocker containerによるビルドが行われないように指定。

name: deploy to heroku with Buildpacks

on:
  push:
    branches:
      - master

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Check out code
        uses: actions/checkout@v4

      - name: Deploy
        uses: akhileshns/heroku-deploy@v3.13.15
        with:
          heroku_api_key: ${{secrets.HEROKU_API_KEY}}
          heroku_app_name: 'my-memoria'
          heroku_email: ${{secrets.HEROKU_EMAIL}}
          usedocker: false

事前にheroku.ymlを作成しており、不要となったProcfileを削除していたので再作成。
Dockerによるデプロイならheroku.ymlがあればデプロイできるが、Procfileがないとデプロイ時のアクションが実行されないので注意。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?