TFS 复制文件/发布项目生成步骤失败

TFS Copy Files / Publish Artifacts Build Steps Failing

提问人:ricke 提问时间:11/9/2023 最后编辑:E_net4ricke 更新时间:11/16/2023 访问量:69

问:

我们在工作中使用 TFS 2017(产品版本 15.105.25910.0 (Tfs2017)),我的任务是从我们多年来一直使用的旧 XAML 版本迁移到 Visual Studio 版本定义,以发布我们的 ASP.NET 网站项目。这是迁移到较新版本的 TFS 并将我们的网站迁移到更现代体系结构的第一步。

我使用包含“复制文件”和“发布项目”步骤的 Visual Studio 生成设置了新的生成定义(下图)。在过去的一周里,它一直运行得很愉快,没有任何问题,在那段时间里处理了 20-30 个构建。但是,从昨天早上开始,我们开始从“复制文件”步骤收到错误,并显示以下错误消息:

2023-11-08T16:03:34.6705381Z ##[错误]退出代码 -1073741819 从进程返回:文件名“C:\agent\externals\node\bin\node.exe”,参数“C:\agent_work_tasks\CopyFiles_5bfb729a-a7c8-4a78-a7c3-8d717bb7c13c\1.0.23\copyfiles.js”'。

我最好的 Google-Fu 并没有因为这个错误而出现太多。我最终通过设置一个使用 robocopy 复制文件并起作用的 PowerShell 步骤来解决“复制文件”步骤。但是,随后 Publish Artifact 进行了转储,并出现了类似的错误:

2023-11-08T19:25:06.8576925Z ##[错误]退出代码 -1073741819 从进程返回:文件名“C:\agent\externals\node\bin\node.exe”,参数“C:\agent_work_tasks\PublishBuildArtifacts_2ff763a7-ce83-4e1f-bc89-0ae63477cebe\1.0.39\publishbuildartifacts.js””。

我开始怀疑构建代理可能存在一些问题,可能需要修复/重新安装/更换。

到目前为止,我尝试过的事情:

  • 已重新启动服务器。
  • 已检查事件查看器是否存在问题,但未看到任何相关内容。
  • C:驱动器上有充足的空间用于构建(50 GB 可用空间,我们的项目仅消耗 220 MB)。

在这一点上我被难住了,任何想法将不胜感激。

Build Definition


Visual Studio Build Step


enter image description here


enter image description here


我目前通过运行一个 PowerShell 脚本来解决此问题,该脚本在生成后复制和部署所需的项目,而不是使用复制文件发布项目生成步骤。这不是我想做的,但它确实可以毫无问题地工作。我的问题仍然存在,但目前我还没有找到任何其他解决方案。

tfs azure-pipelines tfs-2017

评论

0赞 Alvin Zhao 11/9/2023
您好,您会测试在同一台机器上的不同路径下配置新代理吗?您可以要求受影响的管道使用此新代理,并查看问题是否可重现。
0赞 Alvin Zhao 11/9/2023
为了缩小问题范围,您能否创建一个新的管道并单独使用复制文件和发布工件任务(不使用 VS 任务),看看问题是否可重现?
0赞 ricke 11/10/2023
@AlvinZhao - 感谢您的回复。我按照建议下载了一个新的代理并对其进行了配置,然后尝试使用复制文件和发布工件步骤进行构建。唉,我遇到了同样的错误。然后,我只尝试了复制文件并按照建议发布工件,并得到了同样的错误。您可能建议的任何其他故障排除步骤?
0赞 Alvin Zhao 11/10/2023
有趣的是,在新代理上运行的管道也会出现同样的问题。我是否可以知道新代理是否作为本地服务帐户运行?如果您可以登录该代理计算机并具有使用该工具的超权限,您是否希望通过以下方式进行测试并配置新的代理服务以作为此本地用户帐户运行'C:\agent\externals\node\bin\node.exe--windowsLogonAccount <account>
0赞 ricke 11/10/2023
事实上,我对新代理产生同样的问题感到困惑。该服务配置了具有管理员权限的帐户。我尝试将 reconfig 作为交互式以及使用该帐户和 windowLogonAccount 的服务,并遇到了同样的问题。我尝试从 PowerShell 运行 node.exe - 我没有收到任何错误,但也没有反馈。我可以使用文件资源管理器手动将 _work\2\s(源目录)中的文件复制到 _work\2\a(暂存目录),并以具有管理员权限的帐户登录,因此写入权限对我来说似乎没问题。

答: 暂无答案