Wednesday, September 20, 2017

Continuous Integration (CI)



Muhammad Aqshol Rifanza - Sudahkah teman-teman mengenal CI, pertama mendengar saya langsung berfikir Framework Code Igniter, ternyata eh ternyata ( ciyah alaaay ) CI yang dimaksud kali ini adalah Continuous Integration.

Pengertian
Continuous Integration adalah salah satu kegiatan dalam pengembangan aplikasi software dimana seluruh hasil kerja dari developer digabungkan ke dalam satu wadah. Bisa sekali sehari, bisa juga beberapa kali dalam sehari. Kata kuncinya adalah bahwa seluruh hasil kerja digabungkan di satu tempat.


Maksud
Untuk mempermudah dalam pembuatan program kelompok / bersama-sama

Continuous Integration
Dengan menggabungkan hasil kerja minimal sehari sekali, maka kita akan mengurangi kemungkinan konflik besar terjadi. Karena pengerjaan pengembangan aplikasi akan secara otomatis dilakukan sedikit demi sedikit oleh masing-masing developer. Para developer tidak akan menunggu hingga modul besar selesai, namun akan membagi dalam sub-modul agar dapat melakukan commit ke repository minimal sehari sekali. Selain itu, dengan adanya satu wadah dimana seluruh hasil kerja digabungkan, maka bisa dilakukan testing secara menyeluruh. Testing bisa dilakukan dengan manusia atau dengan konsep Test Driven Development, dimana testing dilakukan otomatis.
Kegiatan Continuous Integration ini sendiri memerlukan tools seperti Source Code Managemant System atau VCS (Version Control System). Dan, apabila menggunakan Test Driven Development maka memerlukan tambahan tools Unit testing, dimana untuk bahasa pemrograman PHP yang digunakan di Idea Lounge, kami menggunakan PHPUnit.
Langkah terakhir dari Continuous Integration adalah deployment ke “production server”.  Dimana setelah selesai dilakukan testing, sebuah Continuous Integration system secara otomatis akan membuat “deliverables”. “Deliverables” sendiri merupakan aplikasi yang sudah selesai dan siap ditempatkan di server klien.
Saat ini sudah banyak tools yang tersedia, baik versi open source maupun proprietary. Di antaranya Jenkins, Hudson, Circle CI, Bamboo, Travis, dll. Mereka semua mengotomatisasi langkah-langkah testing dan deployment. Sedangkan untuk Source Code Management System / VCS umumnya menggunakan Subversion atau Git.
Dalam jangka panjang, penggunaan Continous Integration sangat membantu, khususnya dalam mereduksi masalah bugs maupun integration antar developers. Saat ini, Idea Lounge sedang dalam proses deployment Continous Integration, dimana testing and build akan dilakukan secara otomatis. Tentu-nya dengan Continous Integration, aplikasi yang dibuat oleh Idea Lounge akan memiliki kualitas terbaik dan dapat diandalkan.
Kesimpulan
Semua yang dilakukan dijadikan satu dalam satu wadah.
Referensi
  • http://getilo.com/id/continuous-integration/

0 comments:

Post a Comment