-
Bug
-
Resolution: Unresolved
-
Minor
-
None
-
Jenkins - 2.7.4
Pipeline - 2.4
P4-Plugin - 1.4.12
Hi,
I have a pipeline which uses the checkout([ $class: 'PerforceScm... syntax.
Among other things, this build runs "npm install" which creates the node_modules folder under the workspace with all the relevant packages.
When the checkout is done with Automatic Cleanup and Sync (AutoCleanImpl) - it cleans up all files under node_modules but leaves the folder structure intact. This causes issues when running npm install in the next build.
As a workaround I have 2 alternatives:
1. run "npm cache clean" on every build
2. checkout with "Forced Clean and Sync" (ForceCleanImpl)
Can AutoCleanImpl also remove non-versioned folders? Or this is intentional?
Thanks,
Mor
The AutoCleanImpl only cleans up Versioned files. In addition Perforce will not remove empty directories unless you set the RMDIR option in your workspace, and then only if Perforce removes the last file (so if it was already empty, Perforce will not delete it).
The 'p4cleanup' is a bit more drastic, deleting the client workspace. Do check the Global cleanup options under 'Manage Jenkins' -> 'Configure System' as you can set it to remove all content and client metadata.