无法使用詹金斯设置的perforce票证来自动执行perforce登录

时间:2019-02-07 03:54:34

标签: jenkins perforce

尝试在jenkins中自动登录,因为密码会在几天后过期。 Jenkins设置$ P4_TICKET环境变量。我正在尝试使用此密码,以便用户无需再次登录即可输入密码。

echo $P4_TICKET > $P4TICKETS

Actual result : Unexpected exception while loading target: Perforce password (P4PASSWD) invalid or unset.

预期:应该使用jenkins的perforce票证。在这里,我试图复制到我的环境变量$ P4TICKETS

3 个答案:

答案 0 :(得分:0)

  1. 您的$P4TICKETS变量是否实际上设置为文件名?
  2. Jenkins设置的$P4_TICKET值实际上与该文件的预期格式匹配吗?

$P4TICKETS值不一定在任何给定的客户端环境中设置,因此这是首先要检查的内容。客户端将采用默认的票证文件名~/.p4tickets,但是shell不知道它应该为环境变量$P4TICKETS使用该值。

.p4tickets文件可能包含多个由用户/端口索引的票证;如果詹金斯(Jenkins)的$P4_TICKET值只是票证(就像您从p4 login -p中获得的票证)一样,则仅将其转储到票证文件中也不会被识别(因为客户端不会知道什么)连接。)

答案 1 :(得分:0)

P4_TICKET只是詹金斯的工作所拥有的凭证的票证价值。

  

在这里,我试图将其复制到我的环境变量$ P4TICKETS

正如Sam所说,您的票证文件($ P4TICKETS)需要服务器的地址和用户以及票证值。 “ p4插件”不会公开服务器的地址,因此您将无法在票证文件中写出有效行。

关于您的问题“尝试自动在jenkins中登录”,我不知道您需要做什么。一个“ Perforce密码凭证”将为您登录。请提供更多细节。

答案 2 :(得分:0)

谢谢萨姆·斯塔福德和J·布朗。你们俩是对的。 P4TICKETS仅凭票证哈希无法找到。我必须将P4PORT,P4USER和Tickets包含到〜/ .p4tickets中,然后在我登录jenkins的用户凭据下启用“ ALL HOSTS”。这使我登录并继续

谢谢:)