Skip to content

spawn docker-compose ENOENT on Gitlab CI #213

@axeh

Description

@axeh

When I run tests(jest) for the application inside Gitlab CI this error is manifested:

spawn docker-compose ENOENT
at node_modules/testcontainers/dist/docker-compose/functions/docker-compose-up.js:37:15
at Generator.throw ()
at rejected (node_modules/testcontainers/dist/docker-compose/functions/docker-compose-up.js:6:65)

I have some docker-compose file and running it locally everything works OK.
Gitlab runner is configured like docker runner and can use docker-in-docker.
This is the setup of docker runner (https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#use-docker-in-docker)

On Docker runner, we installed docker-compose so everything is working correctly.
If I run "docker-compose" command from GitLab CI everything works. But using the inside node app crashes the test execution.

GitLab CI looks something like

  image: docker:22.06-rc
  variables:
    DOCKER_DRIVER: overlay2
    DOCKER_TLS_CERTDIR: "/certs"
  services:
     - name: docker:22.06-rc-dind
  before_script:  
    - docker info
    - docker-compose --version
    - apk add --update npm
  script:
    - npm install
    - npm test

inside npm test it looks like

 const composeFilePath = path.resolve(__dirname, "../../somedirectory");
 const result = await upAll({ cwd: composeFilePath, log: true });

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions