我正在尝试在Visual Studio Team Services中为我的包含MVC项目和SQL Server数据库项目的解决方案设置CI / CD。
使用ASP.NET(PREVIEW)模板构建我的解决方案中的两个项目但是我发现我的SQL Server数据库项目中的dacpac没有作为工件发布而不在C:\agent\_work\11\a
文件夹中
我是否需要为我的解决方案中的每个项目创建一个构建定义?如果是这样,应该如何配置参数Path to solution or packages.config
。
或者,我只需要在我的构建定义中添加Copy Files
任务,以将dacpacs传输到C:\agent\_work\11\a
文件夹中吗?
答案 0 :(得分:2)
通常,我向MSBuild或Visual Studio Build步骤提供/p:OutDir=$(Build.ArtifactStagingDirectory)
的MSBuild参数。这会强制将所有输出放入工件暂存文件夹中。
如果您这样做并且您的DACPAC文件仍然不在工件暂存文件夹中,那么您可能正在构建错误的东西,或者构建具有您的SSDT项目集的解决方案配置/平台不建立。
答案 1 :(得分:0)
解决方案中有Web和数据库项目,您需要将数据库项目输出复制到具有额外任务的工件文件夹。 (例如,复制文件任务)
参数:/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\"
用于发布web项目,它不会发布数据库项目。