2015-07-21 60 views
0

My Jenkins安装在默认位置:/ var/lib/jenkins。每次构建时,它都会将我的工作空间的根目录(在本地计算机/ home/john/p4中)更改为/ var/lib/jenkins/...,这不应该发生?Jenkins的主目录

如何指定我的客户端(工作区)的根目录,以便构建不会更改其位置?我应该改变$ JENKINS_HOME吗?如果我应该改变它,那么这就等于我必须将Jenkins重新安装到我想要的位置,因为$ JENKINS_HOME应该是所有jenkins文件和构建的根目录。

Jenkins和P4客户端的正确行为应该是什么?另外,它与在Jenkins中开始构建的用户有什么关系? Jenkins用户与安装Jenkins的Linux用户有任何关系?

+1

您是否为启动Jenkins应用程序的用户使用了专用P4工作区? –

+0

@BrunoLavit,我不确定这一点。可能不会。在我的基于Jenkins的网站上,我创建了一个用户“jenkins”并使用它登录,然后单击“Build Now”。在我的Linux服务器上,我连接到服务器并以用户“admin”启动Jenkins。 “jenkins”和“admin”是两种不同类型的用户。你指哪个用户?如果你引用“管理员”--- Linux ueser,如何创建一个专用的P4工作区?我使用P4向导来创建一个工作区,工作区的根目录是我的本地机器/ home/john/p4。谢谢。 – user697911

+0

我在以前的公司使用P4和Jenkins。我记得我们为构建机器创建了专用的P4工作区(我认为您可以在工作区中设置主机名)。所以它更多的是每台机器的WS,而不是每个用户。你可以试试吗? –

回答

0

p4-plugin Jenkins需要它自己的Perforce工作区,它将设置Perforce工作区根目录以匹配Jenkins工作区根目录。让Jenkins创建一个新的Perforce工作区(使用一个不存在的名称,我通常在前缀jenkins-前面)。如果你想成为动态使用一个名称,如:

jenkins-${NODE_NAME}-${JOB_NAME} 

...作为${NODE_NAME}${JOB_NAME}将扩大。

接下来定义一个视图映射(或流路径)来指定Perforce中文件的位置以及您希望它们如何显示在工作区中。例如:

查看:

//depot/myProj/main/... //jenkins-${NODE_NAME}-${JOB_NAME}/... 

至于连接到Perforce的,那就是在Perforce的证书定义的用户,但sync'ed到詹金斯主(或从,如果你有一个生成的文件农场)将使用Jenkins服务的UID/GID。

您可以找到p4-plugin here的文档。