First steps into Docker & Jenkinsfiles

When we decided a year ago to automate our continuous deployment process (previously releases were quick but manual), I had the chance to look at Docker. It was more accessible for Linux, not all features were working on Windows and the documentation was little, but we gave it a go.

I started to implement a continuous deployment solution based on Jenkins and Docker. Our applications are coded in C# and we wanted to limit the number of code changes. The first task I had to do is to find a way to “Dockerize” our console applications run by the Task Scheduler. There are more than one way to do so and I have written a post about it on my blog. If you are interested you can find more details on

We also moved from standard Jenkins projects to Pipelines. This allowed us to get all the build steps in the repository. We found that using the Shared Library was a big time saver. Our build steps can be centralised in a specific repository that all the projects will use. Once this main Jenkinsfile is created we just have to set our project related parameters in a small Jenkinsfile in each repositories.

You can find more details on how we implemented this Parameterized Jenkinsfile on my blog:

With this we have a full Continuous Deployment solution. A merge in our Git repository will trigger the build on Jenkins and the project will be built, tested and pushed either to a Development or a Production environment depending on the branch.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s