Dasar-dasar Continuous Integration

Continuous Integration (CI) adalah praktik pengembangan software tempat developer sering menggabungkan perubahan kode mereka ke dalam repositori pusat, setelah itu build dan pengujian otomatis dijalankan.

Anda dapat menyiapkan sistem CI dasar untuk mencegah perubahan baru yang akan merusak build setelah digabungkan. Anda dapat memprogram sistem CI yang lebih canggih untuk otomatis menguji aplikasi dan memastikan aplikasi berperilaku seperti yang diharapkan di berbagai lingkungan, seperti level API, ukuran layar, dan platform.

Diagram yang menunjukkan bagaimana beberapa developer meminta perubahan kode dan cara mereka diperiksa oleh sistem CI sebelum digabungkan ke dalam repositori kode utama.
Gambar 1. Sistem CI menjaga repositori kode tetap berfungsi dengan menjalankan pemeriksaan sebelum penggabungan.

Dokumen ini menunjukkan strategi umum yang digunakan developer untuk menyiapkan sistem CI yang efektif untuk project Android. Panduan ini bersifat umum dan berlaku untuk sebagian besar solusi.

Contoh umum

Sistem CI standar mengikuti alur kerja atau pipeline, yang mungkin terlihat sebagai berikut:

  1. Sistem CI mendeteksi perubahan dalam kode, biasanya saat developer membuat permintaan pull, yang juga disebut "daftar perubahan" atau "permintaan penggabungan".
  2. File ini menyediakan dan melakukan inisialisasi server untuk menjalankan alur kerja.
  3. Library ini mengambil kode serta alat seperti Android SDK atau image emulator jika diperlukan.
  4. File ini mem-build project dengan menjalankan perintah tertentu, misalnya ./gradlew build.
  5. Library ini menjalankan pengujian lokal dengan menjalankan perintah tertentu, misalnya menjalankan ./gradlew test.
  6. Emulator ini akan memulai emulator dan menjalankan pengujian berinstrumen.
  7. Alat ini mengupload artefak seperti hasil pengujian dan APK.
Diagram yang menunjukkan alur kerja CI dasar
Gambar 2. Alur kerja CI dasar

Manfaat CI

Keuntungan CI meliputi:

  • Peningkatan kualitas software: CI dapat membantu meningkatkan kualitas software dengan mengidentifikasi dan memperbaiki masalah sejak awal. Hal ini dapat membantu mengurangi jumlah bug dalam rilis software dan meningkatkan pengalaman pengguna secara keseluruhan.
  • Mengurangi risiko build yang rusak: Saat mengotomatiskan proses build dengan CI, Anda dapat menghindari build yang rusak dengan lebih baik dengan menyelesaikan masalah lebih awal dalam proses tersebut.
  • Peningkatan keyakinan pada rilis: CI dapat membantu memastikan bahwa setiap rilis stabil dan siap untuk produksi. Dengan menjalankan pengujian otomatis, CI dapat mengidentifikasi potensi masalah sebelum Anda merilisnya ke publik.
  • Peningkatan komunikasi dan kolaborasi: Dengan menyediakan tempat terpusat bagi developer untuk berbagi kode dan hasil pengujian, CI dapat membantu memudahkan developer dan anggota tim lainnya bekerja sama dan melacak progres.
  • Peningkatan produktivitas: CI dapat membantu meningkatkan produktivitas developer dengan mengotomatiskan tugas-tugas yang biasanya memakan waktu dan rentan error.

Bacaan lebih lanjut

Untuk mengetahui informasi selengkapnya tentang cara menggunakan continuous integration guna meningkatkan pengembangan aplikasi Anda, baca halaman berikut: