我使用飞路集装箱,它可以在本地通过以下方式运行良好:
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尚不支持的volume
。
https://gitlab.com/gitlab-org/gitlab-runner/issues/3207
有什么主意吗?