Background: Muzkat is a creative agency out of Berlin, Germany. To say they are small would be an understatement. They are a team of 3 and still in the early bootstrapping phase. Because of this, they must carefully monitor the time and money spent in relation to the quality of their software development and deployment. Every team member uses a different setup, different machines, and often, quite different tools.
Goals: Simplify the build, test and deploy process to different stages and hosts, whether they are cloud-based, Virtual Private Server (VPS), or to the local server.
Solution & Results:
It was quite a challenge to streamline and combine all the services to build an artifact to deploy. Because of our micro service-oriented and distributed architecture, the hardest part of rethinking our build, test and deploy process was to figure out how best to sync the deployment of all services. We also had to retest builds properly to go live or initiate a rollback.****
Jenkins is simple to install, easy to maintain, has fast security updates, excellent support and a great community. Thank you.
With Jenkins and some pipelines, it was relatively simple to create a local and distributed artifact of our application to quickly share and deploy across the team, locally and globally.****
Using pipelines -- and the easily accessible deployment plugins available with Jenkins -- eased everything. The job hook options, in conjunction, along with some scripting, made it easy to create a deployment bus, which was primarily used to send out notifications to our team. Luckily, we have removed some free external services, which gave us more control over our product and associated data; data security is very important to us!****
The amazing plugin ecosystem helped us a lot! Specifically, we used FTP publisher, SSH publisher, and the Gradle plugin. As far as pipelines go, Job DSL as code is a huge win. We also like the internal credential/key management arrangement and the master/slave setup.****
We're pleased with the results, including: