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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions