docker-compose is unable to locate env files from inside of runner
Summary
docker-compose is unable to locate env file specified with --env-file flag
Steps to reproduce
- Create env file on host machine (my exapmle: /usr/src/.env)
- Add --env-file flag with absolute path to stage script (my example: docker-compose --env-file /usr/src/.env up -d --build)
- Run job, it fails
.gitlab-ci.yml
image: docker
services:
- docker:dind
stages:
- test
- deploy
test:
stage: test
script:
- echo no tests configured, skipping test stage
deploy-prod:
stage: deploy
only:
- dev
script:
- docker-compose --env-file /usr/src/.env up -d --build
environment: production
Actual behavior
Job stops when fails to find env file
Expected behavior
Find env file and use it
Relevant logs and/or screenshots
job log
Executing "step_script" stage of the job script 00:01
Using docker image sha256:72c285f303399730d4e93bae2689334904979fdcc4acd2279377b38079ad31fc for docker with digest docker@sha256:b2343859b009730168704bf04dd705291539db39df5ccf840a91b647b72009fe ...
$ docker-compose --env-file /usr/src/.env up -d --build
Couldn't find env file: /usr/src/.env
Cleaning up project directory and file based variables 00:01
ERROR: Job failed: exit code 1
Environment description
config.toml contents
concurrent = 1
check_interval = 0
[session_server]
session_timeout = 1800
[[runners]]
name = "zoro-production"
url = "https://gitlab.com/"
id = 17955357
token = "Y41aSkMayazH1W4B_hTs"
token_obtained_at = 2022-10-06T21:01:02Z
token_expires_at = 0001-01-01T00:00:00Z
executor = "docker"
[runners.custom_build_dir]
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
[runners.cache.azure]
[runners.docker]
tls_verify = false
image = "ruby:2.7"
privileged = true
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/cache", "/var/run/docker.sock:/var/run/docker.sock"]
shm_size = 0
Used GitLab Runner version
Version: 15.4.0
Git revision: 43b2dc3d
Git branch: 15-4-stable
GO version: go1.17.9
Built: 2022-09-20T22:38:36+0000
OS/Arch: linux/amd64