Implementing Continuous Integration and Deployment Strategy: Cloversy.id RESTful API Development - Eric Prima Wijaya; Sandy Kosasi; David (Ikatan Ahli Informatika Indonesia (IAII), 2024)
The software development cycle involves testing and deployment stages that can be laborious and time consuming, especially in collaborative projects that involve several developers. Implementing Continuous Integration (CI) and Continuous Delivery (CD) offers a solution to streamline this process. This study presents a case study of the Cloversy.id RESTful API project, highlighting challenges encountered during development and the implementation of a new system using GitHub Actions as the DevOps tool. The research resulted in the adoption of a new system, which replaces the conventional practices previously employed by the Cloversy.id development team. Using flow charts, the study meticulously mapped out the development flow, pinpointing bottlenecks and areas for optimization within the cycle. In particular, the implementation of a CI/CD pipeline resulted in a notable improvement, with a 35% increase in speed for CI and a remarkable 39% enhancement for CD. GitHub Actions played a pivotal role in automating critical tasks, reducing the reliance on manual intervention, and minimizing the dependency on team leaders. The platform's features, including detailed logs and email notifications, empowered team leaders and developers alike to take informed actions swiftly. Furthermore, the study highlights the novelty of integrating CI / CD considering factors such as branching strategy, code review practices, testing methodologies, deployment methods, and infrastructure.