下面概述的过程经过简化,以展示我所面临的问题。
Process:
在工件暂存目录中创建“ Solutions”文件夹($ .Build.ArtifactStagingDirectory)。
[安装必需的工具
将Dynamics 365源系统中的.zip软件包导出到工件目录中的“ Solutions”文件夹中($ .Build.ArtifactStagingDirectory \ Solutions)
Publish Artifact($ .Build.ArtifactStagingDirectory)
将工件提交到Git回购
管道的首次运行行为
管道第二次运行的行为
管道第三行的行为
手动清理
为什么文件夹在管道的第二次运行中重复出现,并且是否有阻止它的方法?
为什么文件夹在管道的第二次运行中重复,并且是反正有阻止它吗?
您遇到的行为与Azure Devops Service扩展名Commit to Git task
中的Backup data during build or release有关。
我重现了同样的问题,发现如果将文件放在一个文件夹(Solutions
)中,则会发生这种奇怪的行为。如果我们的文件位于Path
的根目录中,则可以很好地覆盖具有相同名称的旧文件。
要回答您的原始问题:
1。原因why the folder is duplicated on the second run
与任务本身的设计有关,而不与Azure Devops Service有关。
2。停止此操作的唯一方法是将xx.zip
直接放置在路径($.Build.ArtifactStagingDirectory)
中,而不是创建Solutions
文件夹。另外,您可以尝试打开问题here与该扩展程序的作者联系。我想作者如果得到您的反馈,会考虑修改扩展名。
另外:
尽管使用git相关任务很容易执行一些git操作,但我建议您也可以考虑使用CMD / PS任务来使用git命令来执行commit / push /...。您可以在线找到许多主题,我的related issue之一。
希望有帮助:)