【发布时间】:2019-01-08 19:57:50
【问题描述】:
我是 TeamCity 的新手,想学习如何通过在线 TFS 自动构建和部署应用程序。我的项目只有在 .NET 中开发的 Windows 和 Web 应用程序。
我的机器上没有代码,直接使用在线 TFS 作为源。 VCS Root 设置工作正常,连接成功。 在构建步骤中,我使用构建作为使用 MSBuild 的第一步。当我单击 RUN 时,它会启动该过程并将第一步显示为 UPDATING SOURCES。在代码签出目录中,它只创建目录,甚至没有单个源代码文件,尽管我可以在线查看 TFS 中的所有代码文件。在这一步之后它显示错误:
Failed to start MSBuild.exe. Failed to find project file at path:
C:\TeamCity\buildAgent\work\740b9db587af8795\ProjectName.sln
ProjectName.sln 文件存在于 TFS 中 https://ProjectName.visualstudio.com/DefaultCollection/$/Main/MainBranch
我没有得到我缺少的东西。我用谷歌搜索了很多,但我无法得到这里缺少的东西。我需要执行哪些额外步骤才能使其正常工作。
感谢您的帮助。
FI:Teamcity 版本 2018.1.3(内部版本 58658)。 Teamcity 服务器和构建代理在同一台机器上:Win 10。
Teamcity-Activities.log [2019-01-07 19:44:23,906] INFO - s.buildServer.ACTIVITIES.AUDIT - build_type_edit_settings:“MLD / Main {id=Mld_Main, internal id=bt2}”构建配置设置已编辑(“之前的版本:45 , 之后的版本:46") 由“'admin'(AB) {id=1}” 注释“'Main' 构建配置的运行器已更新”
[2019-01-07 19:44:34,460] INFO - s.buildServer.ACTIVITIES.AUDIT - build_add_to_queue:Build BUILD_PROMOTION{id=52} 已由“'admin'(AB) {id=1 添加到队列中}"
[2019-01-07 19:44:34,466] 信息 - tbrains.buildServer.ACTIVITIES - 构建已添加到队列;排队构建{构建提升 {promotion id=52, configuration={id=Mld_Main, internal id=bt2}, queued}, 由“'admin'(AB) {id=1}”触发 (##userId='1'类型='用户')}
[2019-01-07 19:44:34,539] 信息 - tbrains.buildServer.ACTIVITIES - 构建开始; MLD / Main {id=Mld_Main, internal id=bt2} #25 {promotion id=52, agent="Agent-Name" {id=1}, 由“'admin'(AB) {id=1}”触发( ##userId='1' 类型='用户')。开始于 2019-01-07 19:44:34.514,正在运行}
[2019-01-07 19:55:38,847] 信息 - tbrains.buildServer.ACTIVITIES - 完成构建 MLD / Main {id=Mld_Main, internal id=bt2} #25 {promotion id=52, agent="Agent -Name" {id=1},由"'admin'(AB) {id=1}" (##userId='1' type='user')触发。开始于 2019-01-07 19:44:41.748,完成。状态“FAILURE '无法启动构建运行程序;退出代码 -42(步骤:构建(MSBuild))'”}
Teamcity-tfs.log
[2019-01-07 19:42:03,434] 信息 - .vcs.tfs.java.TfsJavaWebRunner - 启动 TFS 进程外应用程序
[2019-01-07 19:42:03,439] INFO - .vcs.tfs.java.TfsJavaWebRunner - TFS 进程外应用程序已启动
[2019-01-07 19:42:08,312] 信息 - .vcs.tfs.java.TfsJavaWebRunner - Web 服务器在 http://localhost:64729/api/commands 启动
[2019-01-07 19:42:08,312] 信息 - gers.vcs.tfs.TfsTimeoutWatcher - TFS 进程外应用空闲计时器已启动
[2019-01-07 19:42:25,586] INFO - .vcs.tfs.java.TfsJavaWebRunner - TFS java web 命令已完成:TestConnection $/Main/Feature -s="https://ProjectName.visualstudio .com/" -p="*******",在 22.140 秒内完成
[2019-01-07 19:43:00,661] 信息 - .vcs.tfs.java.TfsJavaWebRunner - TFS java web 命令已完成:GetCurrentVersion $/Main/Feature -s="https://ProjectName.visualstudio .com/" -p="*******",在 1.607 秒内完成
[2019-01-07 19:44:35,894] 信息 - .vcs.tfs.java.TfsJavaWebRunner - TFS java web 命令已完成:GetCurrentVersion $/Main/Feature 31529 -s="https://ProjectName. visualstudio.com/" -p="*******",在 1.293 秒内完成
【问题讨论】:
-
鉴于目录为空,MsBuild 找不到解决方案文件是有道理的。让我们关注 TeamCity,它无法获取文件。在您连接到 azure-devops 时删除了 tfs。添加tfvc,因为这是您要连接的源代码控制类型。
-
TeamCity 是否提供任何文件获取的日志文件?
-
您可以尝试从项目 URI 中删除
/DefaultCollection/部分吗? -
Azure Devops 帐户是否配置为仍使用
account.visualstudio.com还是已切换为devops.azure.com/account? -
感谢 jesse 的 cmets。
标签: azure-devops teamcity tfvc