tfs - 使用 Azure DevOps 共享部署组,Web 应用程序正在被覆盖,如何才能最好地调试呢?
问题描述
上下文
我有一个安装了单个部署代理的本地 TFS (Azure DevOps) 服务器(版本 2018.2)。
此代理位于共享部署组中,用于部署多个 IIS Web 应用程序,每个应用程序驻留在自己的项目和发布管道中。
发布管道都使用相同的流程,运行IIS Web 应用部署模块来部署每个应用程序。
在部署参数中,每个应用程序都有自己的唯一virtual application
指定。
问题
部署一个应用程序时,它会正确部署到其唯一的虚拟应用程序,但代理配置为部署的所有其他虚拟应用程序即使在其他发布管道中也会被一个应用程序覆盖。
我试过的
- 验证每个
virtual application
参数实际上在配置中是唯一的 - 已验证任何给定部署的发布部署日志均未提及任何额外的部署路径。这尤其令人困惑,因为日志表明该操作仅正确部署到一个虚拟应用程序。
- 检查目标服务器上的任何奇怪的 IIS 日志
问题
调试此类 Azure DevOps 问题的最佳后续步骤是什么?这是一个本地服务器,因此与云托管相比,我拥有更高级别的访问权限。
我在想也许:
- 检查代理版本并将其更新到最新?
- 是否还有其他包含有价值信息的日志?在目标服务器上?在 DevOps 服务器上?
解决方案
我解决了这个问题。请参阅下面的书面过程。
解决方案
问题不在于部署模块,而是我错误地配置了紧接在每个部署模块之前运行的IIS 管理模块。每个管理模块physical path
为每个虚拟应用程序设置了相同的参数值,这导致每次部署都会覆盖任何以前的部署。
调试过程
在 github 上为此编写相应的问题时,具有讽刺意味的是,有一个指向 AzureDevops 故障排除说明的链接,因此我开始关注该文档。
推荐阅读
- python - 硒找不到元素
- python - 有什么方法可以根据线回归对点进行聚类?
- azure-functions - Azure Functions 部署槽是否实现 x-ms-routing-name?
- python-3.x - 在 Pandas DataFrame Python 3.7 中重命名列的问题
- javascript - 如何将负字节值转换为 mb、gb 等?
- opengl - 细分为四边形的顶点的顺序是什么?
- python-3.x - 为什么在嵌入之前,必须使项目从零开始顺序排列
- javascript - 为什么在我的代码中出现 404 Ajax not found 错误?
- python - 我可以用吗 ?在 SQL 中选择一个表
- scala - 是否可以在不进入 spark-shell 的情况下运行 Spark Scala 脚本?