Howto have Jenkins not clean a git workspace
Our Jenkins job that builds our project triggers on changes in the master of several GIT repositories. When it starts building it cleans the workspace of all the repo checkouts. We want to use the job only for clean build on request and by default for incremental builds. Some of our generated code is (still) generated inside the checkout, is therefor cleaned and therefor required to be regenerated and built each run. This takes quite a bit of time we would like to get rid of.
Note the last line of this part of the build log:
Started by user jenkins Building on master Checkout:WORK_PLATFORM3_REL_BUILD / /home/jenkins/data/WORK_PLATFORM3_REL_BUILD - hudson.remoting.LocalChannel@116fc35 Using strategy: Default Last Built Revision: Revision 5479a644c63e128efb4fa61c00b4a708d8ae594f (origin/master) Checkout:xxxxxx / /home/jenkins/data/WORK_PLATFORM3_REL_BUILD/xxxxxxx - hudson.remoting.LocalChannel@116fc35 Fetching changes from 1 remote Git repository Fetching upstream changes from ssh://email@example.com:29418/xxxxxxx Commencing build of Revision 5479a644c63e128efb4fa61c00b4a708d8ae594f (origin/master) Checking out Revision 5479a644c63e128efb4fa61c00b4a708d8ae594f (origin/master) Cleaning workspace
I cannot find a setting in the job’s configuration to disable this “cleaning workspace” nor any global setting to change this.
Is there a solution?
BTW, we’re running Jenkins 1.410 (off topic: will upgrading to latest version be a trivial task?)
One Solution collect form web for “Howto have Jenkins not clean a git workspace”
There is a check box ‘clean after checkout’ if you click the second ‘Advanced’ button under ‘source code management’ -> ‘Git’ settings in job configure page. Make sure this checkbox is not ticked for your case.