LoginSignup
1
0

More than 1 year has passed since last update.

Github Actions Dockerで環境構築しているコードをCIチェックするときにエラーが出た

Last updated at Posted at 2023-04-05

概要

  • Dockerでローカル開発環境を構築しているコードをGithub上でPR作成するときにCIチェックでテストが走るようにしたい。
  • $ docker compose up後にcomposer installを実行したところエラーが出たので自身の環境の解決方法をまとめる。

前提

  • 下記のようなワークフローのyamlファイルを定義した。(環境構築は$ make initコマンドを実行するだけで完了するように下準備はしてある。)

    phpunit.yaml
    name: 'do PHPUnit'
    
    on:
      push: 
        branches:
          - 'feature/*'
          - 'hotfix/*'
          - 'release/*'
      pull_request:
        types: [opened, reopened]
    
    jobs:
      do_phpunit:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v3
          - name: init
            run: make init
          - name: check echo
            run: echo 'init end'
    

問題

  • 下記エラーが出て止まった。

    docker-compose exec api composer install
    the input device is not a TTY
    make: *** [Makefile:27: composer_install_for_api] Error 1
    Error: Process completed with exit code 2.
    

原因

  • TTYが無いためエラーになっている模様、、!

  • Makefile内のcomposer installを実行している部分を下記のように修正した。

    .PHONY: composer_install_for_api
    composer_install_for_api:
    	docker-compose exec -T api composer install
    
  • 上記の状態でcommitしてpushしたところ本エラーは出なくなった。

その後の話し

  • composer installコマンドに限らず、Actionsで実行するコンテナ系のコマンドはすべて-Tをつけないとエラーになるっぽいです。
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