PoisonArrowFrog Posted July 26, 2014 Report Share Posted July 26, 2014 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 More sharing options...
calbzam Posted July 29, 2014 Report Share Posted July 29, 2014 Hi, Could you attach a screenshot with your selected options (in addition to the "Use update" option)? I´m not sure if the plugin is ready to properly work using this option. I will review it. Regards, Carlos Link to comment Share on other sites More sharing options...
PoisonArrowFrog Posted July 29, 2014 Author Report Share Posted July 29, 2014 Here is a screen shot: Link to comment Share on other sites More sharing options...
calbzam Posted July 30, 2014 Report Share Posted July 30, 2014 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 More sharing options...
PoisonArrowFrog Posted August 1, 2014 Author Report Share Posted August 1, 2014 Hi Carlos, We are using Jenkins version 1.571. Again thank you for the help - we are truly hamstrung by the Plastic sync time on our build server. Mike Link to comment Share on other sites More sharing options...
calbzam Posted August 4, 2014 Report Share Posted August 4, 2014 Yes, I´ve reproduced the issue and now the "Use Update" option is not properly working. I´ve a created task so hopefully we can fix it soon. Regards, Carlos Link to comment Share on other sites More sharing options...
PoisonArrowFrog Posted August 4, 2014 Author Report Share Posted August 4, 2014 Thank you Carlos for looking into this. This issue is a showstopper for us as our build server is integral to our development process. An expedited fix would really help us out. Mike Link to comment Share on other sites More sharing options...
PoisonArrowFrog Posted August 19, 2014 Author Report Share Posted August 19, 2014 Hi Carlos, Any forward progress on a improved Jenkins plugin that supports Plastic updates? This is an impediment for our build server tech. Thanks, Mike Link to comment Share on other sites More sharing options...
manu Posted August 19, 2014 Report Share Posted August 19, 2014 Hi there mike! The fix is done and we'll try to release it today. I'll post it here. Link to comment Share on other sites More sharing options...
manu Posted August 19, 2014 Report Share Posted August 19, 2014 Hi again, here it is: plasticscm-plugin.zip Feedback please! Link to comment Share on other sites More sharing options...
PoisonArrowFrog Posted August 19, 2014 Author Report Share Posted August 19, 2014 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 More sharing options...
manu Posted August 20, 2014 Report Share Posted August 20, 2014 Thanks for the feedback, we'll check the plugin version number, thanks! Link to comment Share on other sites More sharing options...
PoisonArrowFrog Posted October 10, 2014 Author Report Share Posted October 10, 2014 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-MASTERSetting 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 More sharing options...
calbzam Posted October 14, 2014 Report Share Posted October 14, 2014 Hi, Could you check if the next workaround works for you? If you drive to Preferences --> Other options --> Allow update the workspace with changed items. Regards, Carlos Link to comment Share on other sites More sharing options...
PoisonArrowFrog Posted October 14, 2014 Author Report Share Posted October 14, 2014 Thanks Carlos, I imagine that would do the trick. Our workaround had been executing "cm unco --all" prior to the scm sync operation in Jenkins. Mike Link to comment Share on other sites More sharing options...
benthroop Posted December 15, 2015 Report Share Posted December 15, 2015 Just curious if this updated plugin posted in this thread ever made it's way into the Jenkins plugin repo. It would appear not. I went through the same thing of having it repeatedly wipe/redownload my workspace, so I ended up here. Link to comment Share on other sites More sharing options...
calbzam Posted December 21, 2015 Report Share Posted December 21, 2015 Hi, Have your tried with the previously attached plugin? We will review the behavior to check if for some reason, it´s broken again. Regards, Carlos Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.