LoginSignup
0
1

More than 3 years have passed since last update.

【ありがち】存在するはずのスクリプトで "not found" エラーになる!?

Posted at

Gitlab-CIでシェルスクリプトが起動できません!

標準エラー出力には not found の文字。でも ls コマンドで確認すると、確かにスクリプトは存在しています! なぜだ!?

job:
  image: docker/git # このDockerイメージでコンテナを作り、下のスクリプトを実行
  script:
    - ls -a .gitlab-ci/docker-build-push
    - .gitlab-ci/docker-build-push
$ ls -a .gitlab-ci/docker-build-push
.gitlab-ci/docker-build-push
$ .gitlab-ci/docker-build-push
/bin/sh: eval: line 129: .gitlab-ci/docker-build-push: not found

種明かし

実際のエラーの原因は「スクリプトが見つからない」こと、ではなく「スクリプトのshebangに指定した /bin/bash が見つからない」ことでした。

docker/git は Alpine Linux ベースなので、Bashは初期状態ではインストールされていないのです。

job:
  image: docker/git # 実は Alpine Linux ベースだから Bash が入っていない
  script:
    - apk add bash # Bash をインストール
    - .gitlab-ci/docker-build-push

お粗末様でした。

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