This project contains configuration and operations for deploying, maintaining, and executing things that are specific to the build pipeline(s) for the project as a whole.
You need a Jenkins server and a Maven repository server, and valid admin credentials for each.
- Ensure the settings in
gradle.properties
are correct. - Run
./gradlew deploySecrets -PjenkinsUsername=XXX -PjenkinsPassword=YYY -PmavenRepositoryUsername=AAA -PmavenRepositoryPaswsword
to deploy the maven repo secret - Run
./gradlew -PjenkinsUsername=XXX -PjenkinsPassword=YYY pipeline:publishJenkinsJobs
to create/update the Jenkins jobs.
Once you have completed this, the master-job
will poll for changes to the pipeline module and update the job
definitions accordingly.
src/main/groovy
Groovy classes for interacting with the Jenkins APIsrc/jobs
The JobDSL files for configuring the jobs. These should be kept as thin as possibe. The primary build configuration is configured in theJenkinsfile
for individual modules. Ideally you should be able to deploy these configurations once and forget about them, but rather use theJenkinsfiles
for actually controlling your build.Jenkinsfile
/src/jobs/master-job.groovy
these are the jobs that execute the Job Setup tasks listed above so that changes to the pipeline project are deployed automatically.src/xml
XML templates.