Azure 管道复制文件任务

Azure pipeline copy file task

我们正试图在此处获取一些 CI/CD,因此我正尝试通过 Azure Dev Ops 管道部署网络服务,但我 运行 遇到了一个问题Web.configs。到目前为止,我已经沿着每个环境(DEV、QA、PROD)配置一个配置的路线走下去,我想我只是让构建过程通过复制文件任务将相关文件复制到它上面。一切都已经在发布步骤压缩,所以我在构建步骤完成了。

我从复制步骤中得到以下输出:

2018-11-19T16:46:17.2133815Z found 1 files
2018-11-19T16:46:17.2141470Z Copying D:\a\s\Bridge\Configs\QA\Web.config 
to D:\a\s\Web.config
2018-11-19T16:46:17.2226220Z ##[section]Finishing: Set Web.config to QA

我已将其设置为在目的地覆盖。

看起来它在正确的目录中有正确的文件,但是当它开始部署时,我仍然在根目录中看到相同的(未复制的)Web.config。任何想法可能会发生在这里?

或者,有没有一种在部署后移动文件的好方法?看起来复制文件任务只能访问构建工件中的内容,其中所有内容都已压缩,而解压缩对我来说听起来像是错误的想法。

感谢任何帮助,谢谢!

注意:我希望使用这个复制文件而不是各种转换选项,因为它看起来更简单,而且我喜欢在源代码管理中使用单独的配置。

您已经部分回答了您自己的问题。您需要在发布管道而不是构建中执行此复制工作,以便文件的副本可以与其必须在其中运行的环境相关联。

出于这个原因,您可能需要将网络配置发送到构建工件中。也许将它们复制到 $(build.artifactstagingdirectory) 中的 "configs" 目录中。然后在您的发布管道中,它将下载您的工件,其中将包括您的 "configs" 目录和所有环境配置,并且您可以有一个发布管道任务,该任务根据环境从 "configs" 复制正确的文件] 目录并将其就地复制到部署的 Web 应用程序的根目录。