在VSTS构建定义上使用真正的Azure SQL数据库

时间:2017-09-29 11:43:50

标签: azure continuous-integration azure-devops entity-framework-core

我想使用真正的SQL数据库运行测试。 SQL服务器和数据库将在Azure上。我尝试在VSTS上配置构建定义,其中任务将使用数据库设置Azure资源组,在我的解决方案上设置连接字符串并运行Entity Framework Core迁移到数据库。测试后,任务应删除资源组。

我使用我需要的数据库创建了一个Azure资源组,并下载了PowerShell部署文件,脚本,template.json等。

PowerShell脚本任务可以具有内联脚本或脚本路径。 我应该将Powershell脚本添加到解决方案中,以便VSTS可以访问它们吗?内联脚本选项似乎适用于少数行脚本,Azure部署对于多个文件来说非常大。

设置连接字符串不应该太困难。有几个人建议使用市场上的Replace Tokens任务。

我不确定如何在此之后运行数据库迁移。我可以在PowerShell脚本任务上运行迁移吗?如何确保所需的cmdlet有效?

1 个答案:

答案 0 :(得分:0)

由于脚本非常大,您无法使用内联脚本,您可以将其添加到项目或服务器的其他路径(为不同路径添加其他映射)。

关于数据库迁移,如果您在Web应用程序中启用了EF迁移,则可以创建启用了数据库迁移的发布配置文件(Web部署包),然后使用/p:DeployOnBuild=true /p:PublishProfile=[profile name];DesktopBuildPackageLocation="$(build.artifactstagingdirectory)\webEF.zip" MSBuild参数发布/部署,然后将package部署到Azure Web APP通过Azure Web Deploy任务。