School of Information Systems

Peran Continuous Integration dan Continuous Delivery dalam tahap Development dan Deployment 

Dalam perancangan suatu sistem terdapat beberapa tahapan untuk membantu proses pengembangannya. Istilah SDLC ( Software Development Life Cycle ) sudah banyak dikenal dan juga menjadi salah satu life cycle dalam mengembangkan suatu sistem. Terdapat tahapan dalam SDLC yaitu Perencanaan, Analisis, Desain, Pengembangan, Pengujian, Deployment, dan Pemeliharaan. Setiap tahapan punya peranannya masing masing dalam merancang suatu sistem. Untuk membantu tahapan dalam pengemabangan suatu sistem terdapat suatu teknik dalam Cloud Computing yaitu CI/CD( Continuous Integration dan Continuous Delivery). Teknik ini membantu proses Pengembangan dan juga Peluncuran. Dengan menggunakan CI/CD kita dapat menyelesaikan tahapan Pengembangan dan Peluncuran Lebih Efisien. 

Continuous Integration ( CI ) 

CI merupakan suatu teknik dimana kita dapat melakukan merging untuk code yang akan di develop dalam suatu central repository. Central repository ini bisa menjadi Sharing File System yang digunakan untuk nanti tahapan deployment. CI juga memiliki fitur untuk melakukan sedikit approval dan testing pada code yang akan disimpan dalam central repository tersebut. Apabila seluruh code pada central repository telah di approve, code tersebut baru bisa di deliver dan di deploy untuk dilanjutkan pada proses Continuous Delivery (CD). 

Langkah – langkah dalam CI : 

  • Melakukan commit code kedalam central repository yang digunakan 
  • CI akan melakukan testing apakah code layak untuk diproses pada tahapan Continous Delivery 
  • Jika tidak lolos akan diberikan notifikasi bahwa code tersebut tidak valid 
  • Jika lolos code tersebut tersimpan di dalam central repository dan siap untuk di lakukan proses Continuous Delivery 

Continuous Delivery (CD) 

CD merupakan proses yang disediakan cloud computing untuk dapat melakukan deployment secara otomatis. Dalam proses CD juga terdapat fitur untuk melakukan testing code dengan environment yang sangat mirip dengan pre-deployment environment. Dimana lingkungan tersebut bisa disebut lingkungan real untuk melakukan deployment sehingga menjadi valid untuk melakukan testing dalam lingkungan tersebut. Lalu jika testing tersebut telah berhasil lolos, terdapat opsi secara manual untuk melakukan approval hasil testing tersebut. Apabila hasil dari testing code telah diapprove, CD baru akan melakukan Deployment secara otomatis.  

Langkah-langkah dalam CD: 

  • CD akan secara otomatis melakukan run testing yang telah lolos tahap CI dalam pre-deployment environment. 
  • Jika sudah testing, code tersebut akan diminta untuk approval untuk menyetujui deployment yang dilakukan. Approval ini dapat dilakukan secara otomatis dan manual. 
  • Jika code tersebut telah approved, maka CD akan secara otomatis melakukan deployment untuk code yang telah di approve tersebut 
  • Jika code tersebut tidak di approve, maka CD akan memberikan notifikasi terkait code yang tidak approved dan tidak lolos testing 

Continuous Deployment 

Continuous deployment merupakan tahapan untuk melakukan pemeliharaan agar sistem bisa terus terupdate dan bisa melakukan perbaikan jika terjadi suatu bug atau error lainnya. Langkah-langkah dalam Continuous Deployment : 

  • Menulis code untuk di commit 
  • Continuous Deployment akan secara otomatis melakukan deployment terhadap code tersebut yang ingin dibuat apabila code tersebut telah lolos testing.

Kesimpulan: 

Proses CI/CD dapat membantu untuk proses development dan juga deployment dengan otomatis dan juga efisien. Setiap proses dari penulisan code sampai pemeliharaan dapat fully managed dari providernya secara otomatis. Perubahan juga dapat dilakukan dengan mudah dengan adanya Continues Deployment agar sistem dapat terus berkembang dan memperbaiki jika ada error atau bug. 

 

Stevanno Verdianta