Implementing Continuous Integration and Deployment Strategy: Cloversy.id RESTful API Development

  • Eric Prima Wijaya STMIK Pontianak
  • Sandy Kosasi STMIK Pontianak
  • David STMIK Pontianak
Keywords: automation, DevOps, continuous integration, continuous delivery

Abstract

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.

Downloads

Download data is not yet available.

References

References

L. Yuge and T. Badarch, “Research on Contemporary Software Development Life Cycle Models,” Am. J. Comput. Sci. Technol. Spec. Issue Adv. Comput. Sci. Futur. Technol., vol. 6, no. 1, pp. 1–9, 2023, doi: 10.11648/j.ajcst.20230601.11.

S. Kumar, “Reviewing Software Testing Models and Optimization Techniques: An Analysis of Efficiency and Advancement Needs,” J. Comput. Mech. Manag., vol. 2, no. 1, 2023, doi: 10.57159/gadl.jcmm.2.1.23041.

N. Singh, “CI/CD Pipeline for Web Applications,” Int. J. Res. Appl. Sci. Eng. Technol., vol. 11, no. 5, 2023, doi: 10.22214/ijraset.2023.52867.

S. J. Malgund and Sowmyarani C N, “Automating Deployments of The Latest Application Version Using CI-CD Workflow,” Int. J. Eng. Appl. Sci. Technol., vol. 7, no. 5, pp. 99–103, 2022, doi: https://doi.org/10.33564/ijeast.2022.v07i05.017.

A. Mishra and Z. Otaiwi, “DevOps and software quality: A systematic mapping,” Computer Science Review, vol. 38. 2020, doi: 10.1016/j.cosrev.2020.100308.

R. Parashar, “Path to Success with CICD Pipeline Delivery,” Int. J. Res. Eng. Sci. Manag., vol. 4, no. 6, pp. 271–273, 2021.

A. Alnafessah, A. U. Gias, R. Wang, L. Zhu, G. Casale, and A. Filieri, “Quality-Aware DevOps Research: Where Do We Stand?,” IEEE Access, vol. 9, pp. 44476–44489, 2021, doi: 10.1109/ACCESS.2021.3064867.

S. Ferdian, T. Kandaga, A. Widjaja, H. Toba, R. Joshua, and J. Narabel, “Continuous Integration and Continuous Delivery Platform Development of Software Engineering and Software Project Management in Higher Education,” J. Tek. Inform. dan Sist. Inf., vol. 7, no. 1, 2021, doi: 10.28932/jutisi.v7i1.3254.

J. Fairbanks, A. Tharigonda, and N. U. Eisty, “Analyzing the Effects of CI/CD on Open Source Repositories in GitHub and GitLab,” in 2023 IEEE/ACIS 21st International Conference on Software Engineering Research, Management, and Applications (SERA), 2022, pp. 176–181, doi: 10.1109/SERA57763.2023.10197778.

E. Soares, G. Sizilio, J. Santos, D. A. da Costa, and U. Kulesza, “The effects of continuous integration on software development: a systematic literature review,” Empir. Softw. Eng., vol. 27, no. 3, 2022, doi: 10.1007/s10664-021-10114-1.

P. Rostami Mazrae, T. Mens, M. Golzadeh, and A. Decan, “On the usage, co-usage and migration of CI/CD tools: A qualitative analysis,” Empir. Softw. Eng., vol. 28, no. 2, 2023, doi: 10.1007/s10664-022-10285-5.

C. Singh, N. S. Gaba, M. Kaur, and B. Kaur, “Comparison of different CI/CD Tools integrated with cloud platform,” 2019, doi: 10.1109/CONFLUENCE.2019.8776985.

GitHub, “Octoverse - The state of open source software,” 2022. https://octoverse.github.com/ (accessed Sep. 13, 2023).

A. Decan, T. Mens, P. R. Mazrae, and M. Golzadeh, “On the Use of GitHub Actions in Software Development Repositories,” 2022, doi: 10.1109/ICSME55016.2022.00029.

A. S.K, Amrathesh, and D. G. Raju M, “A review on Continuous Integration, Delivery and Deployment using Jenkins,” J. Univ. Shanghai Sci. Technol., vol. 23, no. 6, pp. 919–922, 2021, doi: https://doi.org/10.51201/jusst/21/05376.

L. E. Lwakatare et al., “DevOps in practice: A multiple case study of five companies,” Inf. Softw. Technol., vol. 114, 2019, doi: 10.1016/j.infsof.2019.06.010.

M. H. Tanzil, M. Sarker, G. Uddin, and A. Iqbal, “A mixed method study of DevOps challenges,” Inf. Softw. Technol., vol. 161, 2023, doi: 10.1016/j.infsof.2023.107244.

R. S. W. -, S. B. K. -, K. R. P. -, H. M. T. -, and R. M. R. -, “Implementation of a Continuous Integration and Deployment Pipeline for Containerized Applications in Amazon Web Services Using Jenkins,” Int. J. Multidiscip. Res., vol. 5, no. 3, 2023, doi: 10.36948/ijfmr.2023.v05i03.3323.

N. Kavya and P. Smitha, “Deploying and Setting up Ci/Cd Pipeline for Web Development Project on AWS Using Jenkins,” Int. J. Adv. Eng. Manag., vol. 4, no. 6, pp. 2325–2332, 2022, doi: 10.35629/5252-040623252332.

A. D. Widiyanto, B. Anindito, and M. N. Al Azam, “Implementation of Docker and Continuous Integration / Continuous Delivery for Management Information System Development,” IJEEIT Int. J. Electr. Eng. Inf. Technol., vol. 3, no. 2, 2020, doi: 10.29138/ijeeit.v3i2.1208.

M. M. Alam, A. Arbaz, and S. H. Uddin, “Emerging Continuous Integration Continuous Delivery (CI/CD) For Small Teams,” Math. Stat. Eng. Appl., vol. 72, no. 1, pp. 1535–1543, 2023, doi: https://doi.org/10.17762/msea.v72i1.2381.

N. Railic and M. Savic, “Architecting Continuous Integration and Continuous Deployment for Microservice Architecture,” 2021, doi: 10.1109/INFOTEH51037.2021.9400696.

A. Hany Fawzy, K. Wassif, and H. Moussa, “Framework for automatic detection of anomalies in DevOps,” J. King Saud Univ. - Comput. Inf. Sci., vol. 35, no. 3, 2023, doi: 10.1016/j.jksuci.2023.02.010.

P. Heller, Automating Workflows with GitHub Actions. Birmingham: Packt Publishing Ltd, 2021.

Published
2024-06-05
How to Cite
Eric Prima Wijaya, Sandy Kosasi, & David. (2024). Implementing Continuous Integration and Deployment Strategy: Cloversy.id RESTful API Development. Jurnal RESTI (Rekayasa Sistem Dan Teknologi Informasi), 8(3), 368 - 376. https://doi.org/10.29207/resti.v8i3.5527
Section
Information Technology Articles