Welcome to jenkins-automation
Repos automated by Jenkins DSL
Jenkins automation is a library of helper functions to make continuous integration and deployment fast, easy and fun.
We use Job DSL to automate. We have further enhanced the functionality with a set of builders. You can see what they can do and how to use them in our API documentation.
Our collection of builders is still growing and we would love your contributions. Please see How to contribute.
Good place to start learning about job-dsl API:
http://jenkinsci.github.io/job-dsl-plugin/
Once you are little more comfortable, try the sandbox:
http://job-dsl.herokuapp.com/
starter repo.
If you would like to get started on it for your project a good place to start is ourGuiding principles
- Make valuable
- Make it easy
- Make it fast
- Make it pretty
and always YAGNI, DRY and KISS
Configuration added to all jobs
Any jobs created by using these Builders
get the following configuration added automatically:
- Colorized Output (requires AnsiColor plugin)
- Timestamps in the build log (requires Timestamper plugin)
- Broken build claiming (requires Claim plugin)
- Build Failure Analyzer (requires Build Failure Analyzer plugin)
- Max 30 builds retained
If the emails
property is set on a job, the job automatically gets configured with an Extended Email block, as well (requires Email Extension plugin)
Commonly used Jenkins Plugins that we support
- https://wiki.jenkins-ci.org/display/JENKINS/Job+DSL+Plugin
- https://wiki.jenkins-ci.org/display/JENKINS/EnvInject+Plugin
- http://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin
- http://wiki.jenkins-ci.org/display/JENKINS/Multiple+SCMs+Plugin
- http://wiki.jenkins-ci.org/display/JENKINS/NodeJS+Plugin
- http://wiki.jenkins-ci.org/display/JENKINS/Clone+Workspace+SCM+Plugin
Gradle init scripts
Within the path
gradle/init.d/init.gradle
There is a file that contains tasks that may be imported into other
gradle builds by using the additional flag -I
during normal gradle
execution. Currently this file contains a task designed to copy the
jar files of all dependencies of a project into a directory jac_dependencies
.
This tool may be useful when integrating with tools like
OWASP
Common execution might be
./gradlew -I gradle/init.d/init.gradle copyDeps