Hello Everyone, From Past few days, I was studying Jenkins, 1. have read VMs or cloud instances can be provisioned as the slave for Jenkins, I thought it would be awesome to have more generic setup. So I dig more into the web and found Jenkins Docker Plugin. so that we can provision Jenkins slave on Docker host. and this Docker host can be anywhere on any machine or any cloud instance.I have experimented it and I managed to contributr Jenkins fedora slave image to Fedora Cloud, https://github.com/fedora-cloud/Fedora-Dockerfiles/tree/master/jenkins-slave

Few Reasons for Container based slaves:

What Jenkins docker plugin does ? it will able to use docker host so that it will dynamically provision slave run a single build tear down the slave

.

Setting up the Docker host:

 sudo systemctl stop firewalld
 sudo systemctl disable firewalld
 sudo dnf update -y
 sudo dnf install docker -y
 ExecStart=
 ExecStart=/usr/bin/docker daemon -H fd:// -H tcp://0.0.0.0:2376

: :

    sudo systemctl daemon-reload
    sudo systemctl start docker
    sudo systemctl enable docker

Creating Docker image:

 docker pull surajnarwade/jenkins-fedora-slave

.

Conclusion

The integration between Jenkins and Docker is still at development stage, so it may take some time and efforts to get them working nicely together. Capability to start new build from clean image is very important thing when it comes to point of reproducible builds.