У меня есть собственный хост 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 я не могу заставить базу данных восстановиться / запустить и подключиться к приложению.