- Back to Home »
- Continous Intergration (CI)
Posted by : fadly injoker
2017/10/17
Continous Intergration (CI)
Assalamualaikum Wr.Wb
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
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/