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?

docker-compose: command not found, Error: Process completed with exit code 127. GithubActionsでエラー

Last updated at Posted at 2024-08-08

学習中の課題をPRする際にGithubActionsを通して行う様になっていますが、前回までのPRでは問題なかったのに突如エラーが発生してPRをすることができなくなったので内容を紹介していきます。

1, エラーの詳細

スクリーンショット 2024-08-09 5.50.31.png
発生した状況としてはローカルからリモートへデータをPushした時にGithubActionを通している際に発生したエラーです。
原因としてはDocker compose V1がGithub ActionsのWindowsとUbuntuのイメージで使えなくなったことが挙げられます。
Docker compose V1は2024年4月にV2へ移行したので、V1に属するコマンド(docker-compose)が使えなくなり、エラーの原因となっていました。

docker.yml
name: "【Docker】Ruby on Rails CI"
on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]
jobs:
  run-htmlbeautifier:
    name: Run htmlbeautifier
    runs-on: ubuntu-latest
    steps:
    - name: checkout pushed commit
      uses: actions/checkout@v2
      with:
        ref: ${{ github.event.pull_request.head.sha }}
    - name: run htmlbeautifier on docker-compose
      run: |
        docker-compose build #問題となったコード
        docker-compose run --rm web bin/setup #問題となったコード
        docker-compose run --rm web bin/htmlbeautifier #問題となったコード
        git diff --exit-code

2, 解決策

V1コマンド(docker-compose)コマンドが使えなくなっているので、代わりにV2コマンド(docker compose)へ切り替えました。
これによりエラーは解消され、GithubActionsも正常に動きPRまで完了できました。

docker.yml(修正後)
name: "【Docker】Ruby on Rails CI"
on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]
jobs:
  run-htmlbeautifier:
    name: Run htmlbeautifier
    runs-on: ubuntu-latest
    steps:
    - name: checkout pushed commit
      uses: actions/checkout@v2
      with:
        ref: ${{ github.event.pull_request.head.sha }}
    - name: run htmlbeautifier on docker-compose
      run: |
        docker compose build #ハイフンを削除
        docker compose run --rm web bin/setup #ハイフンを削除
        docker compose run --rm web bin/htmlbeautifier #ハイフンを削除
        git diff --exit-code

3, 参考にした資料

Docker Compose v1 が GitHub Actions で使えなくなった件
Error: docker-compose command not found #116610
[Ubuntu, Windows] Docker Compose v1 will be removed from images on April, 1 #9557

4, 気になること

今回、docker composeコマンドを修正することでエラーを解決できたけど、本来このエラーは2024年4月に発生していたはずなのではと考えています。
というのもDocker compose V1からV2への移行がこの時期に行われたので、それと同時に発生しているはずだったのではと推測。加えてエラーが発生したGithubActionsは先月、先々月と使用しているので、その時期に発生しなかったのも不思議です。
これについては新しいことが分かったら記事を更新して紹介したいと思います。

最後まで読んで頂き有難うございました。

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?