Implementasi Continous Integration/Continous Delivery Menggunakan Process Manager 2 (Studi Kasus: SIAKAD Akademi Keperawatan Bina Insan)
DOI:
https://doi.org/10.34148/teknika.v10i3.400Keywords:
CI/CD, Jenkins, Continous Deployment, Continous Integration, DevOpsAbstract
Pada perkembangan perangkat lunak yang semakin beragam dan kompleks, diperlukan fleksibilitas dan adaptasi terhadap proses pengembangan perangkat lunak. Konsep DevOps muncul dari permasalahan yang muncul antara developer dan operation. CI/CD dapat mendukung DevOps dikarenakan dapat mempercepat proses integrasi dan delivery perangkat lunak kepada pengguna. Dalam menerapkan CI/CD diperlukan tools pendukung seperti git sebagai source code control dan jenkins untuk membantu proses deployment. Penelitian yang dilakukan penulis menggunakan Process Manager 2 (PM2) untuk implementasi CI/CD pada sistem Sistem Informasi Akademik (SIAKAD) Akademi Keperawatan Bina Insan. Diharapkan penelitian ini berkontribusi untuk memperluas wawasan mengenai tools dalam mengimplementasikan CI/CD. Hasil menunjukkan implementasi CI/CD menggunakan GitHub Repository, Jenkins, dan PM2 berhasil dilakukan dan berjalan dengan baik. PM2 menunjukkan performa yang lebih baik daripada Docker jika dilihat dari segi waktu build dan penggunaan RAM. PM2 memerlukan waktu deployment 185 detik, 46% lebih cepat daripada Docker. Sedangkan penggunaam RAM PM2 sebesar 1,9 GB, 45% lebih sedikit daripada Docker.
Downloads
References
Shahin, M., Babar, M.A. & Zhu, L. (2017). Continuous Integration, Delivery and Deployment: A Systematic Review on Approaches, Tools, Challenges and Practices. IEEE Access, Vol. 5, pp. 3909—3943, doi: 10.1109/ACCESS.2017.2685629.
Fitzgerald, B. & Stol, K.J. (2017). Continuous Software Engineering: a Roadmap and Agenda. Journal of Systems and Software, vol. 123, pp. 176—189, doi: 10.1016/j.jss.2015.06.063.
Humble, J. (2010). Continuous Delivery vs Continuous Deployment. Diakses dari: https://continuousdelivery.com/2010/08/continuous-delivery-vs-continuous-deployment/ pada tanggal 13 Agustus 2021.
Singh, C., Gaba, N.S., Kaur, M. & Kaur, B. (2019). Comparison of Different CI/CD Tools Integrated with Cloud Platform. Proceeding of 2019 9th International Conference on Cloud Computing, Data Science & Engineering (Confluence), pp. 7—12. doi: 10.1109/CONFLUENCE.2019.8776985.
Wu, J. & Wang, T. (2014). Research and Application of SOA and Cloud Computing Model. Proceeding of 2014 Enterprise Systems Conference, pp. 294—299. doi: 10.1109/ES.2014.58.
Freeman, E. (2019). DevOps for dummies, 1st ed. Indianapolis: John Wiley and Sons.
Garg, S. & Garg, S. (2019). Automated Cloud Infrastructure, Continuous Integration and Continuous Delivery using Docker with Robust Container Security. Proceeding of 2019 IEEE Conference on Multimedia Information Processing and Retrieval (MIPR), pp. 467—470. doi: 10.1109/MIPR.2019.00094.
Fadil, I., Saeppani, A., Guntara, A. & Mahardika, F. (2020). Distributing Parallel Virtual Image Application using Continuous Integrity/Continuous Delivery Based on Cloud Infrastructure. Proceeding of 2020 8th International Conference on Cyber and IT Service Management (CITSM), pp. 1—4. doi: 10.1109/CITSM50537.2020.9268860.
Prince, S. (2016). The Product Managers’ Guide to Continuous Delivery and DevOps. Diakses dari: https://www.mindtheproduct.com/what-the-hell-are-ci-cd-and-DevOps-a-cheatsheet-for-the-rest-of-us/ pada tanggal 14 Agustus 2021.
Weber, I., Nepal, S. & Zhu, L. (2016). Developing Dependable and Secure Cloud Applications. IEEE Internet Computing, Vol. 20(3), pp. 74—79, doi: 10.1109/MIC.2016.67.
RodrÃguez, P. et al. (2017). Continuous Deployment of Software Intensive Products and Services: A Systematic Mapping Study. Journal of Systems and Software, Vol. 123, pp. 263—291, doi: 10.1016/j.jss.2015.12.015.
Luhana, K.K., Schindler, C. & Slany, W. (2018). Streamlining Mobile App Deployment with Jenkins and Fastlane in the Case of Catrobat’s Pocket Code. Proceeding of 2018 IEEE International Conference on Innovative Research and Development (ICIRD), pp. 1—6. doi: 10.1109/ICIRD.2018.8376296.
Laukkanen, E., Itkonen, J. & Lassenius, C. (2017). Problems, Causes and Solutions When Adopting Continuous Delivery - A Systematic Literature Review. Information and Software Technology, Vol. 82, pp. 55—79, doi: 10.1016/j.infsof.2016.10.001.
Git. (2021). About. Diakses dari https://git-scm.com/ pada tanggal 16 Agustus 2021.
Atlassian. (2021). What is Git. Diakses dari: https://www.atlassian.com/git/tutorials/what-is-git pada tanggal 16 Agustus 2021.
Inara, A. (2021). GitLab vs GitHub: Which is Right for You. Diakses dari https://spectralops.io/blog/GitHub-vs-gitlab/ pada tanggal 16 Agustus 2021.
Jerkins. (2021). Jenkins. Diakses dari https://www.jenkins.io/ pada tanggal 16 Agustus 2021.
PM2. (2021). Process Manager 2. Diakses dari https://GitHub.com/Unitech/pm2 pada tanggal 17 Agustus 2021.
Keymetrics (2021) PM2 Process Management Quick Start. Diakses dari: https://pm2.keymetrics.io/docs/usage/quick-start/ pada tanggal 17 Agustus 2021.
Nginx. (2021). What Is a Reverse Proxy Server? Diakses dari https://www.nginx.com/resources/glossary/reverse-proxy-server/ pada tanggal 19 Agustus 2021.