gpt4 book ai didi

sql - VSTS 构建不会拾取 dacpac 文件(云中的托管代理)

转载 作者:行者123 更新时间:2023-12-04 22:03:34 24 4
gpt4 key购买 nike

我正在尝试使用 VSTS 部署到我的数据库中,问题出在我需要选取 dacpac 文件并将其部署到 Azure SQL 服务器的步骤之一,但它失败了:在此步骤中,我使用 Microsoft 在 VSTS 中提供的“执行 Azure SQL:DacpacTask”。有一个文件可以执行此操作,称为“DACPAC 文件”,文档说可以这样使用它:

$(agent.releaseDirectory)\AdventureWorksLT.dacpac

但它给了我以下错误:

No files were found to deploy with search pattern d:\a\1\s\$(agent.releaseDirectory)\AdventureWorksLT.dacpac

所以我做了一个作弊并将以下值放入其中:

d:\a\1\s\AdventureWorksLT.dacpac

它确实有效,但显然,它不会永远有效,因为我需要使用环境变量,例如:

$(agent.releaseDirectory)\AdventureWorksLT.dacpac

有什么建议吗?

最佳答案

我也遇到过同样的问题。我无法找到详细的文档,但通过实验,这就是我发现的。

我假设您的 DACPAC 是作为构建解决方案任务的一部分创建的。构建完成并创建 DACPAC 后,它存在于 $(System.DefaultWorkingDirectory) 目录的子文件夹中。

显然,Azure SQL 数据库部署任务无法访问 $(System.DefaultWorkingDirectory) 文件夹。因此必须将该文件复制到可以访问的位置。这就是我所做的:

  1. Visual Studio 构建任务构建解决方案,包括 DACPAC。生成的 DACPAC 放置在 $(System.DefaultWorkingDirectory) 子文件夹中。
  2. 添加复制文件任务作为下一步。源文件夹属性应为“$(System.DefaultWorkingDirectory)”。内容属性应为“**/YourDacPacFilename.dacpac”。目标文件夹应为 $(build.artifactstagingdirectory)。 “**/”告诉 VSTS 在所有子文件夹中搜索匹配的文件。
  3. 添加 Azure SQL 数据库部署任务以部署实际的 DACPAC。 DACPAC 文件将位于 $(build.artifactstagingdirectory) 中。

关于sql - VSTS 构建不会拾取 dacpac 文件(云中的托管代理),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47052666/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com