Release procedure

Provided that the project is a simple REpresentational State Transfer (REST) service, the creation of a release is not complex at all. According to the current procedure, a developer compiles the code and sends the artifact to the team that manages all deployments. That team coordinates the testing and deployment to production with the customer and QA departments.

You decide to ask John if he is happy with the process. Before you even get the answer, you know John is not happy at all with it. You can see on his face that he is making an effort to hide his feelings about it. John gulps back his emotions and starts describing the current situation of the team.

It turns out that not everything is joy and candy in the development team. All developers,  when they start coding, create their own branch from the master branch in the repository. This is not bad at all, but it has happened that some branches have been merged back to the master many weeks later. The issue is that the master branch has changed a lot since then and the code base diverges a lot, meaning the merge is very difficult, unpleasant, and error prone.

Besides the occasional merging problems, it has happened that one developer compiled his local branch by mistake and it was deployed to production, generating chaos, carnage, and uncertainty for a short period.

On top of that, the customer is not very happy with the time new features take to be implemented. They are complaining about this from time to time, saying that every single tiny change takes at least a week to be applied.

You are puzzled how this can happen to a very tiny REST service, but of course John was referring to other bigger projects in the company. You know this kind of problem can be solved, or at least mitigated, by implementing continuous integration (CI) and continuous delivery. In fact, automating processes as much as possible enables you to focus on other problems by getting rid of those that are trivial.

After this small reflection, you now know you need more information about the deployment procedure and you also know that John is willing to give you the details. 

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.142.133.180