The plugin allows users to configure Redis for storing fingerprints.
The plugin can be installed using the Jenkins Update Center.
Follow along the following steps after running Jenkins to download and install the plugin:
Redis Fingerprint Storage Pluginand check the box beside it.
Install without restart
The plugin should now be installed on your system.
Configuring the plugin
Using the Web UI
Once the plugin has been installed, you can configure the Redis server details by following the steps below:
Scroll to the section
Redis Fingerprint Storage Configurationand fill in the required details:
Host- Enter hostname where Redis is running
Port- Specify the port on which Redis is running
SSL- Click if SSL is enabled
Database- Redis supports integer indexed databases, which can be specified here.
Connection Timeout- Set the connection timeout duration in milliseconds.
Socket Timeout- Set the socket timeout duration in milliseconds.
Credentials- Configure authentication using username and password to the Redis instance.
Test Redis Connectionto verify that the details are correct and Jenkins is able to connect to the Redis instance.
Now, all the fingerprints produced by this Jenkins instance should be saved in the configured Redis server!
Using Jenkins Configuration as Code Plugin (JCasC)
The plugin can also be configured using the configuration as code plugin
A sample YAML file is provided below for configuring this plugin using JCasC:
unclassified: fingerprints: storage: redis: host: "localhost" port: 6379 ssl: false database: 0 connectionTimeout: 3000 socketTimeout: 3000 credentialsId: "foo"
Support for fingerprint cleanup by external storage plugins was introduced by Jenkins core in Jenkins-2.248. This plugin fully supports fingerprint cleanup. To enable fingerprint cleanup, just uncheck the box next to Disable Fingerprint Cleanup, which can be found in the Fingerprints section.
When fingerprint cleanup is enabled, the plugin periodically clears out the old fingerprints whose builds have been discarded, thus saving memory in the database.
Jenkins-2.251 introduced fingerprint migration. This allows local file system fingerprints to be migrated by the external fingerprint storage plugin. This means that whenever the fingerprint is used, it gets migrated to the newly configured external storage. Redis fingerprint storage plugin completely supports migration.
Setting up the Plugin locally for Development
Clone the repository
git clone https://github.com/jenkinsci/redis-fingerprint-storage-plugin cd redis-fingerprint-storage-plugin
To obtain the
redis-fingerprint-storage.jar files, run:
mvn clean install
They will be available inside
./plugin/target. (Note that docker is required for running tests. If Docker is not installed, consider skipping tests)
To run the plugin on a local instance, run:
cd plugin mvn hpi:run