我在ubuntu机器上有一个自托管的gitlab。我为它配置了一个linux容器来运行runner
。现在,我正在尝试为我的dotnet项目编写配置,以便在此设置上运行单元测试。
我得到配置来运行没有数据库的dotnet应用程序,只有我遇到的部分是我无法通过我的测试环境加载或连接数据库。
我得到SQL Server linux容器作为服务运行(我猜它正在运行)。但我不知道如何加载我的数据库。我知道我可以用Docker Run
做到这一点。但我无法弄清楚如何在这里运行它。
当我尝试运行“mssql-tools”作为服务时,我无法得到它的命令,因为它不是默认安装在dotnet图像中。
这是我的档案。
image:microsoft / dotnet:最新
变量:ACCEPT_EULA:Y SA_PASSWORD:my_secure_password MSSQL_PID:开发人员
阶段: - 测试
before_script: - “cd Source” - “dotnet restore”
测试: 阶段:测试 服务: - 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” - “exit” - “cd ../Source” - “dotnet build” - “dotnet测试”
"sqlcmd -S . -U SA -P my_secure_password -i testdata_structure.sql
此命令在此设置中不起作用,因为未安装sqlcmd,但是服务之一。我不想制作一个全部预安装的新图像。但是使用可用的东西来工作。
不,确定我能否在这里解释我的问题和知识。我是新手,但我正在阅读和更改配置2天。我可以使用基于Linux的SQL Server从我的应用程序运行本地docker命令和东西,但是在Gitlab上运行单元测试我无法让数据库恢复/运行并连接到应用程序。