【问题标题】:Perforce VCS root agent side checkout mapping on TeamcityTeamcity 上的 Perforce VCS 根代理端结帐映射
【发布时间】:2017-03-14 06:44:40
【问题描述】:

当我在 teamcity 代理上执行 Perforce vcs 根结帐时,我看到创建了一个以“TC_p4_”开头的工作区,但我在代理上找不到此文件夹。这个“TC_p4_”在 Teamcity 中的映射在哪里? 我没有为 teamcity 中的 vcs 根启用任何签出规则。

我的 vcsroot 客户端映射设置在 teamcity 中如下所示:
//vcsroot/stream_name/... //team-city-agent/...

此外,当我使用 p4 命令行命令(如 p4 sync、p4 revert 等)对 vcs root 中使用的 Perforce 流进行结帐、恢复或提交时,我在 Teamcity 中不断收到以下错误。

警告:无法从非流客户端提交

有人可以帮我解决我在这里缺少的东西。通过您的回复感谢任何类型的指针和帮助!

【问题讨论】:

    标签: teamcity perforce teamcity-9.0 perforce-client-spec


    【解决方案1】:

    首先查看客户的详细信息。您无需在 TC 代理上执行此操作 - 任何连接到您的 P4 服务器的盒子都可以。你的选择是:

    1. 在 P4V 中,按 Ctrl-G > 选择工作区 > 输入 TC_p4_... 名称。
    2. p4 cmdline 客户端中,运行p4 client -o TC_p4_...

    其中任何一个都会向您显示工作区的“根”(以及“主机”,它应该是您的 TC 代理的主机名)。这将为您提供在哪里查看代理的提示。

    现在,我怀疑您无法同步、还原等,因为当您运行这些命令时,您的环境设置不正确。而不是p4 sync 和类似的,尝试运行p4 set。它是否正确识别服务器(P4PORT)和客户端(TC_p4_...)?如果没有,您必须先解决此问题,这可以通过a number of ways 完成。

    【讨论】:

    • 所以,我能够使用上述答案找出 TC_P4 映射,谢谢 sferencik。
    • 但仍然无法解决 p4 提交的问题,它不断警告我“警告:无法从非流客户端提交”,然后出现错误“没有要提交的文件。提交失败 -- 修复上述问题,然后使用 'p4 submit -c ".
    • 我检查了 P4CLIENT 和 P4PORT 设置,它们都是正确的,Teamcity 在运行时使用生成的 Teamcity 工作区名称填充这些参数,并且设置这些变量没有问题。看起来我用来提交的命令有问题。以下是我用来提交的命令 1. p4 -p %PerforceServer% -u revert -a 2. p4 -p %PerforceServer% -u submit -d "description"
    【解决方案2】:

    解决方案是在 Teamcity 中创建一个 vcs 根,将 P4 连接作为流,而不是在创建 vcs 根时使用客户端映射来执行 perforce 提交、还原、同步等,而不是得到错误 “警告:无法从非流客户端提交”

    https://confluence.jetbrains.com/display/TCD9/Perforce

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-14
      • 2016-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-06
      • 2016-04-12
      相关资源
      最近更新 更多