Warning This document has not been updated for a while now. It may be out of date.Last updated: 21 Jul 2022
govuk-puppet: Testing changes to Jenkins jobs
Our Jenkins jobs are configured in YAML (example).
If you ever need to test a change to the configuration of a Jenkins job, you could push your branch of govuk-puppet to GitHub, deploy it using the
Deploy_Puppet Jenkins job, then wait half an hour for your changes to be applied. But this is an extremely slow feedback loop!
A much quicker way is to:
- SSH onto the Jenkins machine (
gds govuk connect -e integration ssh jenkins)
- Disable Puppet on the machine (
govuk_puppet --disable "Testing changes to a Jenkins job")
- Make your edits to the YAML on the machine, e.g.
sudo vi /etc/jenkins_jobs/jobs/mirror_github_repositories.yaml
- Recompile all the jobs:
/usr/local/bin/jenkins-jobs update --delete-old /etc/jenkins_jobs/jobs/
Repeat steps 3 and 4 until you have the right configuration. Then re-enable Puppet (
govuk_puppet --enable) and run
govuk_puppet --test to reset back to the original configuration.