In Jenkins, is there a way to persist npm packages so I don't have to install them in each build? In Jenkins, is there a way to persist npm packages so I don't have to install them in each build? jenkins jenkins

In Jenkins, is there a way to persist npm packages so I don't have to install them in each build?


CloudBees uses a pool of slaves to support your builds, and by nature you can have builds to run on various hosts, so start with a fresh workspace. Anyway, we try to allocate a slave that you already used to avoid download delays - this works for all file stored in workspace.

I don't think this would have prevented issue with npm repository being offline anyway.


You can check the package.json file and backup node_modules directory.

When you start next build in jenkins, just check package.json file and node_modules backup, if package.json file is not changed, just using previous backup.

PKG_SUM=$(md5sum package.json|cut -d\  -f 1)CACHED_FILE=${PKG_SUM}.tgz[[ -f ${CACHED_FILE} ]] && tar zxf ${CACHED_FILE}npm install[[ -f ${CACHED_FILE} ]] || tar zcf ${CACHED_FILE} node_moduels

above is quite simple cache implementation, otherwise you should check the cache file is not damaged.