Jenkins 从命令行以静默方式创建perforce客户端

Jenkins 从命令行以静默方式创建perforce客户端,jenkins,perforce,Jenkins,Perforce,我需要从jenkins构建脚本创建Performance客户端,这需要在无人参与的情况下完成。这主要是因为jenkins作业在唯一的文件夹中运行,Perforce坚持每个客户端都有一个唯一的根目标文件夹,并且我们始终根据需要创建新的jenkins作业。现在,每次我创建一个独特的jenkins作业时,我都必须手动为该作业创建一个perforce客户端-我可以从命令行执行此操作,但perforce还坚持暂停客户端创建以向我显示规范设置文件,我需要在创建客户端之前手动关闭该文件 创建我正在使用的客户端

我需要从jenkins构建脚本创建Performance客户端,这需要在无人参与的情况下完成。这主要是因为jenkins作业在唯一的文件夹中运行,Perforce坚持每个客户端都有一个唯一的根目标文件夹,并且我们始终根据需要创建新的jenkins作业。现在,每次我创建一个独特的jenkins作业时,我都必须手动为该作业创建一个perforce客户端-我可以从命令行执行此操作,但perforce还坚持暂停客户端创建以向我显示规范设置文件,我需要在创建客户端之前手动关闭该文件

创建我正在使用的客户端

p4 -u myuser -P mypassword client -S //mydepo/mystream someclientname
我用这个可怕的黑客同时杀死记事本

p4 -u myuser -P mypassword client -S //mydepo/mystream someclientname | taskkill /IM notepad.exe /F

这种方法可行,但感觉不太对劲。是否有一种官方/更好的方法可以强制p4以静默方式强制创建客户机

您可以预先准备客户端表单并通过以下方式传递路径:

p4 client -i newClientForm.txt
我想您可以在调用
p4客户机之前编写一个脚本来准备这样的文件

查看每次弹出的默认表单

我不知道如何处理传递选项
-S
-I
的问题。

请执行以下操作:

p4 -u user -P ticket client -S //depot/stream -o someclientname | p4 -u user -P ticket client -i

是的,这是正确的方法。首先使用此技术创建客户机,然后将其切换到有问题的流。如果这样做,您将不会收到任何表单输入提示。恐怕这太复杂了-我不想维护包含客户信息的文本文件。谢谢@sam stafford,完成了。我更改了-o开关的位置,P4希望它严格遵循流名称。