eko*_*lis 9 azure-devops azure-pipelines-build-task azure-pipelines azure-pipelines-release-pipeline
我有一个 DACPAC 部署任务失败,因为由于某种原因$(Build.ArtifactStagingDirectory)管道变量的值在构建管道和发布管道之间发生变化。在构建管道中,该变量设置为C:\agent\_work\2\a,但在发布管道中它是C:\agent\_work\r2\a。这会导致发布管道在尝试部署 DACPAC 工件时失败,因为它正在查找的文件夹是空的;工件实际所在的文件夹将被忽略。如何使这些变量在构建和发布管道之间保持一致,以便从生成的同一文件夹中检索工件?这些变量似乎是内置的,所以我看不到任何方法来更改它们。我总是可以硬编码路径,但这似乎有点笨拙......
在版本中你System.ArtifactsDirectory有
在版本部署期间将工件下载到的目录。如果需要将工件下载到代理,则在每次部署之前都会清除该目录。与 Agent.ReleaseDirectory 和 System.DefaultWorkingDirectory 相同。
示例:C:\agent_work\r1\a
以及管道/构建中 Build.ArtifactStagingDirectory
代理上的本地路径,任何工件在推送到目的地之前都将复制到该路径。例如:c:\agent_work\1\a
使用此文件夹的典型方法是通过复制文件和发布构建工件任务来发布构建工件。
注意:Build.ArtifactStagingDirectory 和 Build.StagingDirectory 是可以互换的。在每次新构建之前都会清除此目录,因此您不必自己清理它。
请参阅 Azure Pipelines 中的工件。
此变量是代理范围的,可以用作脚本中的环境变量和构建任务中的参数,但不能用作构建号的一部分或版本控制标记。
这符合你的经验。而且您无法更改它,因为它们是预定义的。但你能解释一下为什么这对你来说是个问题吗?
哦,我想我已经明白了。每个发布管道阶段都有一个名为“工件下载”的选项,它允许您指定该阶段实际使用管道中链接的所有工件中的哪些工件。我需要选中相应的复选框,以便在阶段任务中使用工件。
| 归档时间: |
|
| 查看次数: |
39088 次 |
| 最近记录: |