我有多个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工作空间映射有所不同。
发布于 2014-04-27 04:09:54
工单存储在当前用户的主目录中。如果您使用不同的权限运行Jenkins,这可能会出现问题,因为它找不到正确的登录票证。您可以通过P4USER检查您是否真的在使用您定义的帐户。类似于端口和密码。
发布于 2015-06-17 17:42:11
正在运行ThoroughBuild作业的从属代理上可能已有一个perforce实例正在运行。杀死在从代理上运行的所有perforce实例,并开始新的构建。它现在应该在控制台中显示perforce票证,您可以在构建步骤中使用它。
https://stackoverflow.com/questions/21584124
复制相似问题