尝试在jenkins中自动登录,因为密码会在几天后过期。 Jenkins设置$ P4_TICKET环境变量。我正在尝试使用此密码,以便用户无需再次登录即可输入密码。
echo $P4_TICKET > $P4TICKETS
Actual result : Unexpected exception while loading target: Perforce password (P4PASSWD) invalid or unset.
预期:应该使用jenkins的perforce票证。在这里,我试图复制到我的环境变量$ P4TICKETS
答案 0 :(得分:0)
$P4TICKETS
变量是否实际上设置为文件名?$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”。这使我登录并继续
谢谢:)