We have been using the Job DSL plugin as well and are very happy with it.
We probably generate ~90% of our jobs using it with the rest created by
hand.

Our Jenkins master and slaves are all setup running in Docker containers.
The master has the Jenkins home directory mounted from a directory on the
host, so it persists across Docker container restarts. The containers are
started from Docker images built with a Dockerfile, so all of the software
install (Git, Java, Ant, Maven, etc) and initial configuration (ssh keys,
etc) is in these Dockerfiles. Once the Jenkins master is started up, there
is some manual configuration through Jenkins to setup slaves, settings,
etc. We then have a backup job run daily to do a thin backup of the Jenkins
home directory to S3. Setting up a new master from scratch takes about 15
minutes and requires downloading the backup from S3 and spinning up the
Docker container. Spinning up a slave is as simple as starting a Docker
container with the slave image somewhere and then hooking it up to the
master.

We are also using Docker as the basis for all of our test environments.
After a build is complete in Jenkins, downstream jobs spin up a set of
Docker containers and deploy the built software to those containers. All in
all, we have been pretty happy with the setup and Docker has been getting
more stable and mature over the past year. Looking forward to their new
multi-host networking coming soon - will allow us to spin up test
containers across a fleet of machines instead of our one really large
instance we use now.

On Sun, Jun 28, 2015 at 1:13 AM, David Resnick <[email protected]> wrote:

> I'm very pleased with using the Job DSL plugin to keep job configuration
> in SCM, both for setting up a new Jenkins instance as well as for keeping
> track of job changes over time.
>
> Does anyone have a similar solution for setting up and maintaining a
> Jenkins master?
>
> This would include such settings as tool installations, email defaults
> and, most important, slave definitions.
>
> I'm hoping to find a groovy or DSL based solution; anything that is
> cleaner than checking in the master config.xml.
>
> I'd really appreciate hearing what other people have worked out.
>
> Thanks!
>
> - David
>
> --
> You received this message because you are subscribed to the Google Groups
> "Jenkins Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jenkinsci-users/94e52e15-dab9-475e-bf0d-9c4110c24658%40googlegroups.com
> <https://groups.google.com/d/msgid/jenkinsci-users/94e52e15-dab9-475e-bf0d-9c4110c24658%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/CABARhQmEZKNnks8B81%3DVD7ayWmNojxmLm31GiBC2Z1CbSHHZZA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to