在gitlab-ci中运行飞车

我使用飞路集装箱,它可以在本地通过以下方式运行良好: docker run -v ${PWD}/db/migration:/flyway/sql --rm flyway/flyway -mixed=true -url='jdbc:sqlserver://my-server.net;databaseName=TEST_DB' -user=$MSSQL_USER -password=$MSSQL_PW migrate

我尝试在gitlab-ci中使用它,但是以下操作不起作用,因为docker run部分引发错误-cannot connect to docker daemon

stages:
  - test
  - deploy

test-migration:
  stage: test
  services:
    - microsoft/mssql-server-linux:2017-latest-ubuntu
    - docker-hub/docker:dind
  variables:
    accEPT_EULA: 'Y'
    SA_PASSWORD: 'YourStrong!Passw0rd'
  script:
    - docker run -v ${PWD}/db/migration:/flyway/sql --rm flyway/flyway -mixed=true -url='jdbc:sqlserver://ssql-server-linux:1433;databaseName=TEST_DB' -user=SA -password='YourStrong!Passw0rd' migrate

deploy:
  stage: deploy
  services:
    - docker-hub/docker:dind
  script:
    - docker run -v ${PWD}/db/migration:/flyway/sql --rm flyway/flyway -mixed=true -url='jdbc:sqlserver://my-server.net;databaseName=TEST_DB' -user=$MSSQL_USER -password=$MSSQL_PW migrate

应该使用

而不是调用docker run

image: flyway/flyway,然后在脚本部分调用该命令。

但是我想知道挂载gitlab CI尚不支持的volumehttps://gitlab.com/gitlab-org/gitlab-runner/issues/3207

有什么主意吗?

vcaonimav 回答:在gitlab-ci中运行飞车

cannot connect to docker daemon表示DOCKER_HOST丢失

在变量中添加DOCKER_HOST后,此方法有效!

https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#use-docker-in-docker-workflow-with-docker-executor

安装卷也可以,以下操作也很好。

script:
    - docker run -v ${PWD}/db/migration:/flyway/sql --rm flyway/flyway -mixed=true -url='jdbc:sqlserver://ssql-server-linux:1433;databaseName=TEST_DB' -user=SA -password='YourStrong!Passw0rd' migrate
本文链接:https://www.f2er.com/3151393.html

大家都在问