使用打包生成和发布配置文件的 Azure DevOps 发布管道

时间:2021-03-15 18:09:17

标签: azure-devops msbuild azure-pipelines-release-pipeline azure-devops-pipelines

我正在尝试在 Azure DevOps 中创建发布管道。我们已经有一个运行良好的构建管道,它能够使用 VSBuild 打包构建并将其作为工件发布。然后在发布管道中,我使用了 IIS 部署作业(其中包括 IIS 管理和 IIS 部署任务),它会部署该工件。

问题是我们已经有了一个发布配置文件 (.pubxml),它几乎可以处理 IIS 部署正在执行的所有操作(至少据我所知)。所以在我看来,我有两个选项不需要我重构项目配置本身。

  1. 我可以尝试模仿 IIS 部署作业上的设置,以尽可能匹配我们的 .pubxml,并手动应用通过任务设置无法实现的任何更改。显然,这并不理想,因为这要求我们在进行更改时都进行更新,并且随着时间的推移很可能会导致管道崩溃。
  2. 我可以放弃使用 IIS 部署的想法,只使用使用参数 /p:DeployOnBuild=true /p:PublishProfile=Staging 的 VSBuild 任务。这似乎不是最佳做法,因为这意味着我的发布管道不会传递要部署的构建包,它只是在每个阶段创建一个新的包。

那么有没有更好的选择可以让我在部署中同时使用我用 VSBuild 创建的包和 .pubxml 配置?如果这是不可能的,那么我的选择中的任何一个是处理我的情况的“正确”方法,还是我只是缺少另一种可以使用的部署方法?

感谢您提供的任何帮助或见解。如果我能提供更多有用的信息,请告诉我。

2 个答案:

答案 0 :(得分:0)

您可以尝试将发布设置文件 (*.publishsettings) 用于 IIS 部署。

<块引用>

发布设置文件 (.publishsettings) 不同于在 Visual Studio 中创建的发布配置文件 (.pubxml)。发布设置文件由 IIS 或 Azure 应用服务创建,也可以手动创建,然后可以导入到 Visual Studio 中。

要查看更多详细信息,您可以查看:

答案 1 :(得分:0)

很遗憾,似乎没有一种方法可以实现我想要的一切。构建项目时需要发布配置文件,因此无需更改配置文件的方式,只要我想部署就可以构建项目。最终我选择了选项#2。我基本上只是复制了测试管道中使用的大部分构建任务,并使用一些修改过的命令将它们放在发布管道中,以便在完成后实际部署构建。这一切似乎都很好,但仍然感觉不像是最佳实践。如果我遗漏了什么,请告诉我,我会酌情更新。

相关问题