Gitlab с SQL Server в качестве источника конфигурации базы данных - PullRequest
0 голосов
/ 22 марта 2019

У меня есть собственный хост gitlab на машине с Ubuntu. Я настраиваю контейнер Linux для запуска runner. Теперь я пытаюсь написать конфигурацию для моего проекта dotnet для запуска модульного теста на этой установке.

Я получаю конфигурацию для запуска приложения dotnet без базы данных, и единственное, что я застрял, это то, что я не могу загрузить базу данных или подключиться через мою тестовую среду.

Я получаю контейнер Linux Server Linux для запуска в качестве службы (я предполагаю, что он работает). Но я не уверен, как я могу загрузить в него свою базу данных. Я знаю, что могу сделать это, используя Docker Run. Но я не могу понять, как запустить его здесь.

Когда я пытаюсь запустить "mssql-tools" в качестве службы, я не могу запустить команду, так как она не устанавливается по умолчанию в образе dotnet.

Вот мой файл.

изображение: microsoft / dotnet: последний

переменные: ACCEPT_EULA: Y SA_PASSWORD: my_secure_password MSSQL_PID: разработчик

этапы:
- тест

before_script:
- "Источник компакт-диска"
- "восстановление dotnet"

Тест:
этап: тест
услуги:
- mcr.microsoft.com/mssql/server:2017-latest
- mcr.microsoft.com/mssql-tools
Сценарий:
- "cd ../Database"
- "Docker run -it mcr.microsoft.com/mssql-tools"
- "sqlcmd -S. -U SA -P my_secure_password -i testdata_structure.sql" - «выход»
- "cd ../Source"
- "dotnet build"
- "тест дотнет"

"sqlcmd -S . -U SA -P my_secure_password -i testdata_structure.sql эта команда не будет работать в этой настройке, так как sqlcmd не установлен, но является одной из служб. Я не хочу делать новый образ, на котором все предварительно установлено. Но используйте доступные вещи для работы.

Не уверен, что смогу объяснить свою проблему и знания здесь. Я новичок, но я читаю и меняю конфигурацию с 2 дней. Я могу заставить SQL Server на базе Linux работать с моим приложением из локальных команд докера и прочее, но на Gitlab для запуска Unit Test я не могу заставить базу данных восстановиться / запустить и подключиться к приложению.

1 Ответ

0 голосов
/ 02 апреля 2019

В итоге я использую свой собственный образ Docker, на котором установлены dotnetcore и Sqlcmd. Я могу использовать MsSQL Server в качестве службы в конфигурации gitlab. (необходимо определить имя хоста SQL Server, как IP в том же диапазоне, что и мой сервер).

Не простой ответ, но обходной путь для меня.

...