Due to some maintenance issues, this service has been switched in read-only mode, you can find more information about the why

and how to migrate your plugin documentation in this blogpost

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Plugin Information

View Job Cacher on the plugin site for more information.

Summary

Enables caching of files on transient executors for use on subsequent builds to improve performance

Features

  • Item storage extension point supporting on master storage and AWS S3
  • Cache Wrapper for free style jobs that manages the cache
  • Implements Arbitrary File Cache where user specifies paths to be cached
  • UI on Job page to review the job's caches
  • Supports Pipeline jobs with a cache block
  • Cache Extension Point for other plugins to provide opinionated caching capability such as Gradle caches
  • Incremental storing of cache into storage to minimize data movement

Global Configuration

By default, the plugin is configured to use on-Master storage for the cache.

 

This storage mechanism is not recommended for heavy use as it will burden the remoting channel with considerable data when the job starts.  

In addition to the on Master storage, an storage implementation for Amazon S3 is also available.

Additional storage implementations can be created and used as well.

Job Configuration

The plugin offers a Build Wrapper extension point that can be configured for use in Free Style jobs.  Prior to the build starting, the plugin checks if there is a populated cache and if so copies it from the storage area to the executor.  At the end of the build, the plugin then copies the same cache, incrementally, back to storage.

Pipeline Configuration

The plugin also supports the Pipeline plugin by introducing a cache build step that can be used within the pipeline definition.  

 cache(maxCacheSize: 250, caches: [
     [$class: 'ArbitraryFileCache', excludes: 'modules-2/modules-2.lock,*/plugin-resolution/**', includes: '**/*', path: '${HOME}/.gradle/caches'],
     [$class: 'ArbitraryFileCache', excludes: '', includes: '**/*', path: '${HOME}/.gradle/wrapper']
  ]) {
    // some block
}
  • No labels