为什么詹金斯的工作不能使用P4门票?

时间:2014-02-05 17:23:12

标签: jenkins perforce

我有多个Jenkins工作,并且发现其中一个工作失败,因为它似乎没有使用P4门票。

以下是QuickBuild日志的开始,它运行正常(请注意,这是perforce插件中的日志,在我的构建脚本本身开始运行之前)

Building in workspace E:\ProgramData\Jenkins\workspace\QuickBuild
Using master perforce client: QuickBuild
[QuickBuild] $ p4 -P 10F4XXXXXXXXXXXXXXXXXXXXXXXXC784 workspace -o QuickBuild
Last build changeset: 55479
[QuickBuild] $ p4 -P 10F4XXXXXXXXXXXXXXXXXXXXXXXXC784 changes -s submitted -m 1 //QuickBuild/...
[QuickBuild] $ p4 -P 10F4XXXXXXXXXXXXXXXXXXXXXXXXC784 -s changes -s submitted //QuickBuild/...@55480,@55489
[QuickBuild] $ p4 -P 10F4XXXXXXXXXXXXXXXXXXXXXXXXC784 describe -s 55489

您可以在日志中看到-P 10F4 ....票证,%P4TICKET%的值可用于正在启动以执行构建的脚本。

但是,在失败的ThoroughBuild作业中,日志就是这样

Building on master in workspace E:\ProgramData\Jenkins\workspace\ThoroughBuild
Using master perforce client: ThoroughBuild
[ThoroughBuild] $ p4 workspace -o ThoroughBuild
Last build changeset: 56725
[ThoroughBuild] $ p4 changes -s submitted -m 1 //ThoroughBuild/...
[ThoroughBuild] $ p4 -s changes -s submitted //ThoroughBuild/...@56726,@56727
[ThoroughBuild] $ p4 describe -s 56727

请注意日志中缺少-P参数。未在环境中设置%P4TICKET%,因此构建脚本失败(因为它尝试签出文件)

此行为是一致的(QuickBuild始终使用票证,ThoroughBuild永远不会。)

有人能告诉我在ThoroughBuild工作中需要配置什么才能使用门票?据我所知,这两个作业的相关配置部分是相同的,只是在Perforce工作区映射中有所不同。

2 个答案:

答案 0 :(得分:0)

门票存储在当前用户的主目录中。如果您运行具有不同权限的Jenkins,这可能是一个问题,因为它无法找到正确的登录门票。 您可以与P4USER核实是否确实使用了您定义的帐户。与端口和密码类似。

答案 1 :(得分:0)

正在运行ThoroughBuild作业的Slave代理可能正在运行perforce实例。杀死在slave代理上运行的所有perforce实例并开始新的构建。它现在应该在控制台中显示perforce票证,您可以在Build步骤中使用它。