Hi, Iata:

Thanks for your detailed info. But I still have some questions.  To keep it 
simpler, I did the following:

I created a super simple test case. It would be great if you can point out 
where I may be wrong. I just want to have a simple test of using P4 Jenkins 
plugin.  My steps are below:
1) Following the P4 wizard, I created a workspace named "test", which point 
to the root of the directory /home/abigail/p4/test/test1 on my local 
machine. 
    Please see the attached "p4-workspace.png"

2) In the P4 depot there are two projects, "test1" & "test2", and test1 
maps to the workspace "test". 
    Please see "p4-depot.png"

3) In Jenkins, I typed the workspace name "test" and the view map 
"//depot/test1/... //test/...". 
    Please see "P4-jenkins.png"

4) admin@Jenkins:~$ p4 info
User name: admin
Client name: test
Client host: Jenkins
Client root: /home/abigail/p4/test/test1
Current directory: /home/admin
Peer address: ...
Client address: xx.xx.xx.xx
Server address: xx.xx.xx.xx:1666
Server root: /opt/p4d
Server date: 2015/07/22 01:42:32 -0400 EDT
Server uptime: 00:32:40
Server version: P4D/LINUX26X86_64/2015.1/1171507 (2015/06/30)
Server license: none
Case Handling: sensitive

My Jenkins is installed by default /var/lib/jenkins/....

Event time the Jenkins build finishes, the root of the workspace "test" 
changes to "/var/lib/jenkins/..." from /home/abigail/p4/test/test1 on my 
local machine. This is not the right behavior, or not the good practice, 
right? I need the root directory "/home/abigail/p4/test/test1"  on my local 
machine because all my project resides in this directory, and I can sync 
with P4, but this root is not known by Jenkins, so it copies all files from 
my local workspace root directory to Jenkin's default installation location 
/var/lib/jenkins... for each build. I guess my setting of workspace root 
isn't quite right? But I just followed the P4 wizard to create the 
workspace, and I can syc with P4 correctly. The problem is when Jenkins 
comes into play.

Please use simple or step-wise language to help me get this configured 
properly. This is a simple typical setup. I want to configure nothing 
Unique or Special. Thank you.

Martin

On Tuesday, July 21, 2015 at 5:41:43 AM UTC-4, lata wrote:
>
> 1) What's the problem here? 
>
> 1. Jenkins Perforce Workspace at /var/lib/jenkins/jobs/...
> - The name of this P4 workspace is whatever you have typed in the 
> 'Workspace' field of your Jenkins project configuration -> Perforce 
> section. I'm guessing you typed in 'jenkins_test'.
> - The P4 root of this P4 Workspace would be relative to your slave's Remot 
> Root or your Jenkins Master (if you are running your project directly on 
> Jenkins Master, and not on a slave).
> - Default behaviour is that Jenkins updates the P4 workspace with the Root 
> and Host values, you can override this by checking the 'Don't update client 
> workspace' option in the Advanced section.
>
> 2. Your Perforce workspace, 'jenkins_test', with root /home/maritn/p4/test
> Jenkins is not aware that you have such a P4 workspace created, and that 
> you want to use it. As mentioned above, it will override Root and Host 
> unless you ask it not to.
>
> Reco: 1. If you really can't go with the Jenkins chosen workspace to sync 
> your p4 code to, don't use the option 'Don't update client workspace', 
> instead use the 'custom workspace' in the Advanced project option, and 
> change the workspace location to /home/martin/<somedir>, if you need to. 
> Don't manage this Jenkins created P4 workspace outside this environment, 
> let Jenkins manage it. (I'm assuming you can't get a slave machine, and 
> need to run your jobs on the Master itself? Otherwise you can straightway 
> set your Slave's remote root location to the right place that you want)
> 2. If you really need to use your Perforce client created outside for some 
> reason, then use the command line within Jenkins config shell and do a 
> manual sync such as P4 -c $yourclient
>
> 2) Does the user "jenkins" on Jenkins have anything to do with the Linux 
> user who installed Jenkins and P4?
> No
>
>
> On Tuesday, July 21, 2015 at 3:36:32 PM UTC+8, Martin wrote:
>>
>> Hello, it's the first time to setup Jenkins Perforce Plugin. I just 
>> wanted to setup a simple project to test the automatic build feature in 
>> Jenkins. On my local machine, my project is:
>>
>> /home/martin/p4/test
>>
>> I created a workspace named jenkins_test, whose root 
>> is /home/martin/p4/test. I can test syncing with Perforce.
>>
>> However, in Jenkins, whenever a build finishes, it changes my root 
>> directory of my workspace from /home/martin/p4/test to 
>> /var/lib/jenkins/jobs/.... on the Jenkins machine. This isn't the expected 
>> behavior, right? Otherwise, I have to change the root of the workspace back 
>> to /home/maritn/p4/test on my local machine after each build. 
>>
>> In Jenkins, I created a user named "jenkins" and use that user name to 
>> login Jenkins to start the build and do the configure.
>>
>> I have a few questions here:
>> 1) What' the problem here? 
>> 2) Does the user "jenkins" on Jenkins have anything to do with the Linux 
>> user who installed Jenkins and P4?
>>
>> Thank you for help.
>>
>>  
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/e9d6497d-581a-4b82-88ad-2089f2156b2c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to