我正在尝试在 Azure DevOps 中创建发布管道。我们已经有一个运行良好的构建管道,它能够使用 VSBuild 打包构建并将其作为工件发布。然后在发布管道中,我使用了 IIS 部署作业(其中包括 IIS 管理和 IIS 部署任务),它会部署该工件。
问题是我们已经有了一个发布配置文件 (.pubxml),它几乎可以处理 IIS 部署正在执行的所有操作(至少据我所知)。所以在我看来,我有两个选项不需要我重构项目配置本身。
/p:DeployOnBuild=true /p:PublishProfile=Staging
的 VSBuild 任务。这似乎不是最佳做法,因为这意味着我的发布管道不会传递要部署的构建包,它只是在每个阶段创建一个新的包。那么有没有更好的选择可以让我在部署中同时使用我用 VSBuild 创建的包和 .pubxml 配置?如果这是不可能的,那么我的选择中的任何一个是处理我的情况的“正确”方法,还是我只是缺少另一种可以使用的部署方法?
感谢您提供的任何帮助或见解。如果我能提供更多有用的信息,请告诉我。
答案 0 :(得分:0)
您可以尝试将发布设置文件 (*.publishsettings
) 用于 IIS 部署。
发布设置文件 (.publishsettings) 不同于在 Visual Studio 中创建的发布配置文件 (.pubxml)。发布设置文件由 IIS 或 Azure 应用服务创建,也可以手动创建,然后可以导入到 Visual Studio 中。
要查看更多详细信息,您可以查看:
答案 1 :(得分:0)
很遗憾,似乎没有一种方法可以实现我想要的一切。构建项目时需要发布配置文件,因此无需更改配置文件的方式,只要我想部署就可以构建项目。最终我选择了选项#2。我基本上只是复制了测试管道中使用的大部分构建任务,并使用一些修改过的命令将它们放在发布管道中,以便在完成后实际部署构建。这一切似乎都很好,但仍然感觉不像是最佳实践。如果我遗漏了什么,请告诉我,我会酌情更新。