What is a Cleanup Policy?
Every build that is executed within Continua CI stores information in the server's workspace, such as artifacts and build logs. These by-products are vital for executing your build process and tracking build information, however they can also take up considerable disk space over time. Cleanup policies provide a way to remove any unneeded or old build data, which reduces the amount of disk space that Continua is currently using.
Overriding Cleanup Policies
Cleanup policies can be defined at all three levels of Continua CI, which are the global, project and configuration level. By default, the global cleanup policy is applied to every configuration in Continua CI, however these can be overridden on either the project or configuration. If a project defines a cleanup policy then every configuration that belongs in that project will automatically inherit the project's cleanup policy rather than the global policy.
By default, the global policy will be applied to all builds, however you can override this at either the project or configuration level. Each cleanup policy runs once per day. You can choose when it runs and control which builds and by-products are cleaned up.
Every time the cleanup policy is run it will also apply the cleanup settings for previously cleaned up builds. For example, say your policy only removes the build log and you then change this so that it cleans up every aspect of old builds. By running the cleanup policy again, it will remove all old builds, regardless of whether their build log has already been cleaned up.
Note that build cleanup is permanent and a cleaned up build cannot be recovered.
Excluding Special Builds From the Cleanup
Builds can be excluded from the cleanup process so that they will never be deleted. Pinned builds are marked as important so they will be ignored when the cleanup policy is run. Check out the Builds page for more information on pinned builds including how to pin builds.
Defining and Manually Running Cleanup Policies
Cleanup policies can be defined and manually executed in following areas of Continua.
Global Cleanup Policy
The global policy can be found in the administration section, under the Continuous Integration (CI) Settings. You can manually run the cleanup policies for every configuration from this page. Note that if a configuration or project has overridden the global cleanup policy then that cleanup policy will be used instead.
Project Cleanup Policy
A project's cleanup policy can be defined in it's project wizard. The project wizard can be found by selecting a project and clicking 'Edit Project' in the Tasks menu. The cleanup policy is the last page in the project wizard.
You can manually run the cleanup policies for every configuration in a project from this page. Note that if a configuration has overridden the current cleanup policy then that cleanup policy will be used instead. Also, if a project uses the global cleanup policy then the global policy will be run against the current project when you manually run a cleanup.
Configuration Cleanup Policy
A configuration's cleanup policy is defined in it's configuration wizard. It can be found by editing the configuration and navigating to the cleanup section of the wizard.
You can manually run the cleanup policy for a single configuration from this page. Note that if a configuration uses the global or project cleanup policy then that policy will be run against the current configuration when you manually run a cleanup.
Cleanup Policy Options
Run Cleanup Task Daily at
Specify when the cleanup should execute each day.
All builds that are older than the build age will be removed when the cleanup runs.
This specifies the minimum number of builds that should be kept at all times, regardless of build age.
This specifies the maximum number of builds that should be kept at any one time, regardless of build age. If the number of existing builds is greater than this number then the oldest builds will be deleted.
What to Cleanup
All: This will delete all artifacts, logs and database entries.
Logs: This will delete all build logs in the build's workspace from physical memory. Once logs have been deleted, they are no longer accessible through the build's log page.
Database: The build is deleted from the Continua database which removes all references to it from Continua. Deleted builds will no longer appear on the history or activity pages, nor will they contribute to the configuration's statistics and metrics.
Saving the Policy
Save: Saves the cleanup policy and the cleanup will run at the time specified.
Save and Run Now: Saves the cleanup policy and runs the cleanup immediately.