因此,正如这些类型的帖子通常开头的那样,我继承了一个旧的 Azure DevOps 服务器(当前为 On-Premise DevOps 2020,运行在 Windows Server 2016 上),现在我主要由自己运行该服务器(并且由于这些事情通常也是如此,我是一个开发人员,而不是 DevOps 工程师 :x)。
我们的内部 IT 部门告诉我,他们在对该 DevOps 进行维护时发现了很多关键事件,因此他们通知了我。我查看了它,发现一个旧的 SharePoint Server 安装(SharePoint 2016)导致了这些关键错误,并说无法找到某些 SharePoint 组件。
我很快与一位老同事进行了交流,他告诉我我们曾经拥有带有 Sharepoint 集成的 TF2013,因此我对其进行了研究,但是管理工具无法启动,它的所有 IIS 网站和应用程序池都被禁用了,因此我们认为它已经“死机”了。
我使用 Windows 中的“添加或删除程序”选项运行卸载程序,几分钟后我们的 DevOps 当然就不可用了 (503)。它需要很长时间 (大约 2 小时),但我认为这与 IIS 重新配置有关,并等待它完成。
安装后,我仍然遇到错误 503,因此我重新启动了所有内容(IIS、应用程序池、网站),看看是否有帮助 - 但无济于事。查看事件查看器,我发现以下错误:
- 在 Windows 日志/应用程序下:
The Module DLL C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\isapi\spnativerequestmodule.dll failed to load. The data is the error.
- 在 Windows 日志/系统下:
Application pool 'Azure DevOps Server Application Pool' is being automatically disabled due to a series of failures in the process(es) serving that application pool.
- 在应用程序和服务日志\Microsoft-Team Foundation Server\Debug 下:3 个不同的错误说“未找到扩展名支持的版本:ms.vss-services-x(x 是端点、docker 和 jenkins,但我不认为我们真的在使用 docker,我们当然也没有使用 Jenkins,所以这可能是一个转移注意力的借口)
我在网上发现了一些类似的错误,解决方案通常是关于运行 32 位应用程序,可以使用以下命令行解决:“appcmd.exe set config -section:system.webServer/globalModules /[name='SPNativeRequestModule'].preCondition:integratedMode,bitness64”
我觉得这对我没有帮助(而且我不想在生产系统上随机尝试),所以我还没有尝试过。此外,应用程序池设置为 64 位。
知道我可以检查或做什么来让我的应用程序池再次运行吗?我不知道为什么 DevOps 会依赖某些 SharePoint 组件,据我所知,微软在 DevOps 2018 之后停止了 Sharepoint 集成。请帮帮我,你是我唯一的希望,哈哈
答案1
好的,我发现了问题:SP 显然将其部分组件作为本机模块添加到整个服务器。通过 IIS 管理器 ->(本地 PC)-> 模块 ->“配置本机模块”,我能够删除对 spnativerequestmodule.dll 的引用,现在我的 TFS 已恢复并(希望)可以正常运行。
希望这至少能在未来帮助一些绝望的灵魂,哈哈。