Выполнить пролет в Гитлаб-Си - PullRequest
0 голосов
/ 06 ноября 2019

Я использую flyway-контейнер, и он хорошо работает локально: 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 и вызывать команду в разделе сценариев.

Но мне интересно узнать о монтированииvolume, который пока не поддерживается в gitlab CI. https://gitlab.com/gitlab-org/gitlab-runner/issues/3207

Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...