我有多个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工作区映射中有所不同。
答案 0 :(得分:0)
门票存储在当前用户的主目录中。如果您运行具有不同权限的Jenkins,这可能是一个问题,因为它无法找到正确的登录门票。 您可以与P4USER核实是否确实使用了您定义的帐户。与端口和密码类似。
答案 1 :(得分:0)
正在运行ThoroughBuild作业的Slave代理可能正在运行perforce实例。杀死在slave代理上运行的所有perforce实例并开始新的构建。它现在应该在控制台中显示perforce票证,您可以在Build步骤中使用它。