Jump to content

Jenkins (Hudson) Plugin Sync Update Speed


Recommended Posts

Hi,

 

I've been working on a build server that utilizes Jenkins with the PlasticSCM Jenkins Plugin (2.0).  Our builds are taking approximately 15 minutes mainly due to the pull of the files from the plastic repository.  I would like to speed up the process.

 

This is what currently works fine (but takes time):

 

I set the "Use Update" flag to false in the Jenkins Plugin.  This results in a Jenkins wipe of the workspace but also requires plastic to completely repopulate the workspace.  Relevant plastic options are set to "Compare file contents instead of timestamps when determining changed status", and 'Update operation sets repository timestamps on files".  Note:  Through experimentation I have noticed that if the "Update timestamps" option is off then all the files obtain from plastic have the sync date which I don't want and in fact doesn't happen when syncing through the editor).

 

What doesn't work (but perhaps would take less time if it worked):

 

I set the "Use Update" to true in the Jenkins Plugin.  This results in the workspace being left around after the build.  Upon a new build plastic will not move or delete any files or directories and any files that it overwrites get the .0.. appended on the end.  This is problematic for us and ends up causing odd build results.  What I want is for plastic to recognize files that it does not need to copy and to ultimately setup the workspace to be identical to the latest change set.  This is the case when we use the plastic GUI.  Perplexed.

 

I suspect that error lies in the fact that plastic removes its workspace (cm lwk) and recreates its workspace (cm mkwk) regardless of how "Use Update" is set.

 

At any rate 15 minute builds should really be closer to 3 minute builds to make the build server do its job.

 

Any suggestions would be great!

 

Thanks,

 

Mike

Link to comment
Share on other sites

I think that the "use update" feature is not correctly working. Could you tell me your Jenkins version? The panel is a bit different than the one I´m using and I would like to reproduce the scenario using the same version.

 

Regards,

Carlos

Link to comment
Share on other sites

  • 2 weeks later...

Excellent.  Our preliminary tests with this plugin look good.  I will let you know if we find anything odd.

 

By the way according to Jenkins the new plastic plugin version is 2.0.  You may want to increment the number so that users will be able to tell it apart from the old non functioning 2.0.

 

This was a great help to us!

 

Cheers,

 

Mike

Link to comment
Share on other sites

  • 1 month later...

Hi Manu,

 

Thanks again for the recent changes to the plastic Jenkins plugin.  I have encountered another issue however.

 

Our build machine uses the plastic Jenkins to pull recent changes from the plastic repository and and build an executable executable.  During this build process some files (which should have been checked into the repository by the users) are automatically generated and placed within the workspace.  The build completes.  Upon kicking off another build plastic once again pulls recent files from the repository however if the files that were automatically generated during the last build process were checked into the repository then plastic will try to pull them but refuses to overwrite those that exist in the workspace.  Here is an example error:

 

 

[workspace] $ cm sts --file=selector7233905882109426545.txt wk:Jenkins-SFS-MASTER
Setting the new selector...
Plastic is updating your workspace. Wait a moment, please...
The file c:\Program Files (x86)\Jenkins\jobs\SFS\workspace\ProjectSettings\ProjectSettings.asset has been changed in the workspace. Won't overwrite.
The file c:\Program Files (x86)\Jenkins\jobs\SFS\workspace\Assets\Effects\Materials\softDot_multiplyDouble.mat has been changed in the workspace. Won't overwrite.
The file c:\Program Files (x86)\Jenkins\jobs\SFS\workspace\Assets\Prefabs\Cameras\AnimateCamera.prefab has been changed in the workspace. Won't overwrite.
The file c:\Program Files (x86)\Jenkins\jobs\SFS\workspace\Assets\Effects\Materials\Projectors\drw_bloodDry_4x4_projector.mat has been changed in the workspace. Won't overwrite.

 

This is bad for us because we expect that the version that is checked into plastic is the correct one.  Also once this is "broken" for a given file then it will be broken for all future builds and we don't have a good way of knowing it.  The end results are bad builds that we expect should work.

 

I believe what we need is an option in the Jenkins plugin to always overwrite the workspace unless you have another idea.

 

Thanks for your help,

 

Mike

Link to comment
Share on other sites

  • 1 year later...

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...