【问题标题】:Teamcity fails to fetch files from Azure DevopsTeamcity 无法从 Azure Devops 获取文件
【发布时间】: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。

已编辑: 下面是 RUN 过程的屏幕截图。

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


【解决方案1】:

问题终于解决了!
为 TFVC 访问生成的令牌没有足够的权限。将访问令牌更改为具有完全访问权限,它开始工作,我可以在结帐目录中看到所有代码文件。

感谢 jesse 的 cmets。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-26
    • 2020-11-16
    • 1970-01-01
    • 2022-09-24
    • 2020-12-09
    • 2019-04-30
    • 1970-01-01
    • 2019-06-29
    相关资源
    最近更新 更多