Perforce Jenkins view mapping

前提是你 提交于 2019-12-25 04:47:19

问题


I have spent quite some time on P4 Jenkins plugin but have not been able to get it to work.

My local root directory below, which is also my workspace root directory /home/abigail/p4/projects. My workspace name is admin_linux.

Please see my attacked P4 & P4 Jenkins plugins snapshots. I suspect my workspace mapping //depot/... //admin_linux/... may not be quite right.

After I try "build now" in Jenkins, I got this problem:

    Started by user gvisa
Building in workspace /var/lib/jenkins/jobs/bword/workspace
... p4 client -o admin_linux +

P4 Task: establishing connection.
... server: x.x.x.x:1666
... node: Jenkins
... p4 info +
... p4 client -o admin_linux +
... p4 client -i +
... client: admin_linux
... p4 client -o admin_linux +
... p4 counter change +
... p4 changes -m1 //admin_linux/... +
Building on Node: master
... p4 client -o admin_linux +

P4 Task: establishing connection.
... server: x.x.x.x.:1666
... node: Jenkins

P4 Task: reverting all pending and shelved revisions.
... p4 revert /var/lib/jenkins/jobs/bword/workspace/... +
... rm [abandoned files]
duration: (22ms)

P4 Task: cleaning workspace to match have list.
... p4 reconcile -w -f /var/lib/jenkins/jobs/bword/workspace/... +
duration: (66ms)

P4 Task: syncing files at change: 26
... p4 sync -q /var/lib/jenkins/jobs/bword/workspace/...@26 +
duration: (14ms)

P4 Task: saving built changes.
... p4 client -o admin_linux +
... p4 changes -m100 //admin_linux/...@25,26 +
... p4 change -o 26 +
... p4 change -o 26 +
... p4 describe -s 26 +
... p4 fixes -c26 +
... done

Parsing POMs
ERROR: No such file /var/lib/jenkins/jobs/bword/workspace/pom.xml
Perhaps you need to specify the correct POM file path in the project configuration?
Finished: FAILURE

I can see why it can't find the pom.xml, because pom.xml is ... workspace/admin_linux/bword. But how to fix this?


回答1:


Jenkins' workspace is defined by $JENKINS_HOME. By default that is /var/lib/jenkins and this is the reason why Jenkins copies stuff to that location and works there.

You can set the environment variable $JENKINS_HOME to your own workspace directory, if there are access problems on the predefined /var/lib/jenkins. However not that this is bad practice to set $JENKINS_HOME to a single project. Set it to a directory you own.

For setting environment variables read this.




回答2:


Looks like your workspace View mapping is incorrect.

You need to know the 'Depot Path' location of your POM (e.g. //depot/bword/pom.xml) you can find this easily enough using P4V and selecting the depot tab and browsing to the correct location.

The workspace maps the Depot paths (Left) to the Workspace path (right), so if you want all the files under //depot/bword/... to appear in the root of your workspace (//admin_linux/...) then your mapping will be:

//depot/bword/... //admin_linux/...

For more details on Workspace mappings take a look at the docs here and scroll down to 'Example 2. Setting the workspace view.'



来源:https://stackoverflow.com/questions/31468528/perforce-jenkins-view-mapping

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!