Modern continuous integration combines agile cloud computing development practices with source code management methods. With continuous integration companies build and test code with rapid feedback that enables corrections. Continuous deployment is the next step to improve the agile workflow, which includes the release of the application into the continuous integration process. We find that task automation, small independent updates and rapid deployment are the main features of the workflow with continuous deployment, although they are not necessarily easy to implement in practice.
In the case of Celtra, as a company with an existing development and deployment process, we face unique obstacles to the transition to continuous deployment. Working on the key projects of automating manual steps in different parts of the pipeline, introducing a process for smooth deployment of database migrations and ensuring the stability of the main product branch, allowed a first-hand account of the transition process. Over a period of six months, Celtra has successfully moved from the exploratory phase to continuous deployment.
Within this thesis, we have observed a number of positive results from continuous deployment at Celtra. There has been a visible reduction in workload due to the elimination of manual steps and an increase in developer satisfaction because of a faster workflow. Problems in production are resolved more quickly and easily. We have also found the possibility of productization or implementation in similar companies for solutions that bring Celtra closer to standard practices, such as asynchronous database maintenance, automatic task assignment and the inclusion of a merge bot.
|