@QuadionTech Continuous Integration and Continuous Delivery

Most of us have heard about this many times but, do we really know what continuous integration (CI) and continuous delivery (CD) are and how they can be so useful?

Let’s picture a fictional scenario and assume that K+B is a company that creates software for their clients. K+B deploys the software to the cloud and their clients just use it without prior download or installment. Let’s take a look at how K+B works.



The software K+B produces 3 main modules which are managed by a specific development team.

Each team has its own source control so that the code is saved enabling the collaboration of all members of the team.

There is an integration team that at the end of the release merges all the modules into one bucket source control and builds the whole package. If there is no compilation error they pass the resulting software and the instructions to install it on to the operation team.

The operation team receives the software and the instructions from the Integration team and deploys the software into different environments (DEV / QA).

Afterwards, a QA team tests there‘s no major issue and right after that the software is deployed in production. In case there’s an issue there won’t be any release until the development team fixes it.

What can be improved?

Integration process

-Integrating the code from each team happens once every iteration. This means that the integration team has a lot of merging to do which takes a lot of work and also, it is error-prone. There is just one moment in every iteration at which the development team can see if their code works well with other modules or not. As many of you can imagine this will take a lot of rework because one team may break the functionality of other team.

-In case an error is found after merging the code, it is hard to replicate it in the developers PC, since every PC has specific versions of the software or libraries and the app could behave differently.

-As the integration process is extremely laborious, it only happens once in every iteration and this can be improved using CI.

Deployment Process

-The instructions to install the software are not always 100 % complete leaving some room for interpretation to the team. And this could cause some errors.

-The instructions could not always be followed in the exact same way in every environment since sometimes they are different.

-The deployment process could be improved using CD.


See full article: https://blog.quadiontech.com/continuous-integration-and-continuous-delivery-b7e57de852dd

--- Google Ad ---

---

No hay comentarios.

Imágenes del tema de enot-poloskun. Con tecnología de Blogger.