Jump to content
Bastienre4

Trying to make Jenkins work with the Mergebots

Recommended Posts

Hello!

I'm currently trying to make Jenkins work with the Mergebot. The Mergebot seem to trigger the build correctly but it fails every time.

I installed the latest Plastic version (7.0.16.2815).

The first error I had on Jenkins was this :

Plastic SCM client is not correctly configured for the current user: Client config file C:\WINDOWS\system32\config\systemprofile\AppData\Local\plastic4\client.conf not found. Please execute 'clconfigureclient' to perform a text mode configuration or 'plastic --configure' for graphical mode.

I did the plastic --configure and followed the instructions.

Then when I tried again I still had the same error. The 'client.conf' file doesn't exists at the specified location but I have one here :  'C:\Users\[UserName]\AppData\Local\plastic4'

I tried to move the file to the required location and then I have this error :

Started by remote host 192.168.1.26 with note: MergeBot - Building branch /main/dev
Building in workspace D:\CI\Jenkins\workspace\Test
[Test] $ cm lwk --format={path}
[Test] $ cm mkwk Test-17493e96-7433-4197-9d29-4332f3adc520 D:\CI\Jenkins\workspace\Test
Workspace Test-d1587957-1a8a-4ece-9721-8291d7226e73 has been correctly created
[Test] $ cm switch sh:10@Test@http://localhost:8087 --silent --workspace="D:\CI\Jenkins\workspace\Test"
Error: The method version 2 is not supported. Minimum supported version 1. Maximum supported version 1.
When I try the 'cm switch' with the console I get the same error.

Did I forgot something?

Also, can I specify the projet path to avoid Jenkins recreating the workspace every time?

Thanks!

Share this post


Link to post
Share on other sites

Hi @Bastienre4!

sorry about not replying sooner :P

I can see a clear issue at the command output:

[Test] $ cm switch sh:10@Test@http://localhost:8087 --silent --workspace="D:\CI\Jenkins\workspace\Test"

The "http" protocol is not supported. Can you check both your client and mergebot configuration to check where the "http" protocol has been configured?

You should remove it. You should use an IP:PORT format for regular TCP connections and ssl://IP:PORTfor SSL connections.

Hope it helps! If you keep getting the error and you don't manage to fix it I'll be more than happy to get connected with you and review it.

Share this post


Link to post
Share on other sites

I plan to use them this way.

plasticWorkflow.png

 

Basically, a clean /main branch where we have subbranches corresponding to our milestone.

A /main/milestoneXX branch when we need to fix some specific stuff for a specific milestone.

A /dev branch where we regularly merge our work.

Some /dev/featureXX branches where we really work.

The /dev/feature to /dev merge is handled manually when the feature is ready.

The MergeBot is responsible for merging /dev to /main if Jenkins says its ok.

 

The idea is that the master Jenkins would then triggers one build per platform, in parallel, that we support (we're making games, so it can be on PC, PS4, XBox, etc) and if all the build succeed it's validated.

 

I would rather like to have web-hooks that informs me when someone push but I understood that this isn't easily possible with Plastic.

As for the MergeBots I can't find logs or anything that could help me to understand what is wrong :) 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×