Beranda Topics Integrasi berkelanjutan Apa yang dimaksud dengan integrasi berkelanjutan? 
Jelajahi solusi DevOps kami Berlangganan pembaruan AI
Ilustrasi dengan kolase piktogram peralatan, lengan robot, ponsel
Apa yang dimaksud dengan integrasi berkelanjutan?

Integrasi berkelanjutan adalah proses pengembangan perangkat lunak di mana pengembang mengintegrasikan kode baru yang telah mereka tulis lebih sering di sepanjang siklus pengembangan, menambahkannya ke basis kode setidaknya sekali sehari.

Pengujian otomatis dilakukan terhadap setiap iterasi build untuk mengidentifikasi masalah integrasi lebih awal, saat masalah tersebut lebih mudah diperbaiki. Pendekatan ini juga membantu menghindari masalah pada penggabungan akhir untuk rilis. Secara keseluruhan, integrasi berkelanjutan membantu merampingkan proses build, menghasilkan perangkat lunak berkualitas lebih tinggi, dan jadwal pengiriman yang lebih dapat diprediksi.

Panduan untuk AI dan Otomatisasi TI

Panduan Perusahaan untuk AI dan Otomatisasi TI menawarkan pandangan mendalam tentang otomatisasi TI yang didukung AI, termasuk alasan dan cara menggunakannya, masalah yang menghalangi upaya Anda, dan cara memulainya.

Konten terkait

Daftar untuk mendapatkan Laporan TEI untuk IBM Robotic Process Automation

Integrasi berkelanjutan dan DevOps

Menurut definisinya, DevOps menguraikan proses pengembangan perangkat lunak dan perubahan dalam budaya organisasi. Proses ini mempercepat penyampaian perangkat lunak berkualitas lebih tinggi dengan mengotomatisasi dan mengintegrasikan upaya tim pengembangan dan operasi TI. Secara tradisional, kedua kelompok ini berlatih secara terpisah dari satu sama lain, atau dalam silo.

Dalam praktiknya, proses dan budaya DevOps terbaik melampaui pengembangan dan operasi. Kelompok ini mencakup rekayasa platform dan infrastruktur, keamanan, kepatuhan, tata kelola, manajemen risiko, lini bisnis, pengguna akhir, dan pelanggan. Grup ini menggabungkan input dari semua pemangku kepentingan aplikasi ke dalam siklus pengembangan perangkat lunak. 

Dalam kerangka kerja DevOps, integrasi berkelanjutan berada di awal proses pengembangan perangkat lunak. Pada tahap ini Anda memeriksa kode Anda setidaknya sekali sehari untuk menjaga agar salinan lokal Anda tidak menyimpang terlalu jauh dari cabang utama pembuatan kode. Pendekatan ini membantu Anda menghindari konflik penggabungan yang dapat "merusak" build dan membutuhkan waktu berjam-jam atau berhari-hari bagi tim untuk menyelesaikannya.

Integrasi berkelanjutan berfungsi sebagai prasyarat untuk tahap pengujian, penerapan, dan rilis dari pengiriman berkelanjutan. Seluruh tim pengembangan akan mengetahui dalam beberapa menit setelah check-in apakah Anda telah membuat kode yang buruk, karena layanan integrasi berkelanjutan secara otomatis membangun dan menguji perubahan kode Anda untuk setiap kesalahan.

Integrasi berkelanjutan (CI) versus pengiriman berkelanjutan (CD) versus penerapan berkelanjutan

Pengiriman berkelanjutan dan penerapan berkelanjutan mengikuti integrasi berkelanjutan dalam siklus DevOps. 

Pengiriman berkelanjutan (CD) melanjutkan dari titik integrasi berkelanjutan berakhir, mengotomatiskan pengiriman aplikasi ke lingkungan infrastruktur yang dipilih. CD berfokus memberikan perubahan yang divalidasi pada basis kode (pembaruan, perbaikan bug, bahkan fitur baru) kepada pengguna secepat dan seaman mungkin. Hal ini memastikan otomatisasi penerapan perubahan kode ke lingkungan yang berbeda, seperti pengembangan, pengujian, dan produksi.

Dalam penerapan berkelanjutan, perubahan kode pada aplikasi dirilis secara otomatis ke lingkungan produksi. Otomatisasi ini didorong oleh serangkaian tes yang telah ditentukan. Setelah pembaruan baru lulus tes tersebut, sistem menerapkan pembaruan langsung ke pengguna perangkat lunak.

Manfaat integrasi berkelanjutan

Manfaat yang sering dikutip dari integrasi berkelanjutan meliputi:

  • Deteksi dan metrik kesalahan lebih awal dan lebih baik yang memungkinkan Anda mengatasi kesalahan lebih awal, terkadang dalam beberapa menit setelah check-in

  • Kemajuan yang terus menerus dan ditunjukkan untuk umpan balik yang lebih baik

  • Kolaborasi tim yang lebih baik; setiap orang dalam tim dapat mengubah kode, mengintegrasikan sistem, dan dengan cepat menentukan konflik dengan bagian perangkat lunak lainnya

  • Peningkatan integrasi sistem, yang mengurangi kejutan di akhir siklus pengembangan perangkat lunak

  • Lebih sedikit perubahan paralel untuk penggabungan dan pengujian

  • Mengurangi jumlah kesalahan selama pengujian sistem

  • Sistem yang terus diperbarui untuk diuji
Integrasi berkelanjutan dan agile

Tangkas adalah praktik pengembangan perangkat lunak yang meningkatkan cara tim pengembangan perangkat lunak mengatur diri mereka sendiri, beradaptasi dengan perubahan persyaratan, dan merilis perangkat lunak. Integrasi berkelanjutan (tautan berada di luar ibm.com) dan pengembangan tangkas memiliki banyak fitur yang sama, seperti otomatisasi pengujian. Oleh karena itu, akan berguna untuk berbicara tentang integrasi berkelanjutan dan tangkas pada saat yang sama.

Agile mengatur pengembangan ke dalam kelompok kerja atau sprint yang lebih kecil. Ketika diterapkan di DevOps, praktik gabungan ini membantu memastikan kualitas perangkat lunak dan fleksibilitas proyek.

Integrasi berkelanjutan mengharuskan Anda untuk mengintegrasikan pekerjaan yang sering, seringkali berkali-kali per hari. Anda memverifikasi integrasi dengan build otomatis yang mendeteksi kesalahan integrasi sedini mungkin. Build harus menyertakan uji coba sebagai bagian dari verifikasi. Memperluas pengujian cepat ke pengujian waktu proses dalam lingkungan pengujian otomatis secara alami mengarah ke pengiriman berkelanjutan.

Agile (tautan berada di luar ibm.com) juga berulang dan beradaptasi pada perubahan sehingga dapat meningkatkan dan mengembangkan solusi dari waktu ke waktu. Dalam konteks integrasi berkelanjutan, pengembangan perangkat lunak tangkas adalah tentang memberikan iterasi perangkat lunak berdasarkan cara Anda memprioritaskan nilai fitur yang terus menerus diintegrasikan.

Alat integrasi berkelanjutan sumber terbuka

Alat integrasi berkelanjutan sumber terbuka yang populer meliputi:

  • Jenkins: Jenkins, alat integrasi berkelanjutan sumber terbuka yang banyak digunakan, memungkinkan pengembang untuk secara otomatis membangun, mengintegrasikan, dan menguji kode segera setelah mereka melakukan komit ke repositori sumber. Proses ini memudahkan pengembang untuk menangkap bug lebih awal dan menerapkan perangkat lunak lebih cepat. Plug-in Docker tersedia di Jenkins.

  • Buildbot: Buildbot dapat mengotomatiskan semua aspek siklus pengembangan perangkat lunak. Sebagai sistem penjadwalan pekerjaan, ia mengantrikan dan mengeksekusi pekerjaan, dan melaporkan hasilnya.

  • Go: Apa yang membuat Go menonjol dari yang lain adalah konsep pipeline, yang membuat pemodelan alur kerja build yang kompleks menjadi mudah.

  • Travis CI: Salah satu solusi hosting tertua dan paling tepercaya, juga tersedia dalam versi on premises untuk perusahaan.

  • GitLab CI: Bagian integral dari proyek Rails sumber terbuka, GitLab CI adalah layanan hosting gratis. Alat ini menyediakan manajemen repositori Git yang mendetail dengan fitur-fitur seperti kontrol akses, pelacakan masalah, tinjauan kode, dan banyak lagi.

Melakukan integrasi berkelanjutan dengan alat sumber terbuka menawarkan banyak manfaat, termasuk:

  • Ratusan plug-in yang dapat mendukung proyek Anda

  • Dukungan luas untuk bahasa sumber terbuka, seperti Python, Java dan JavaScript

  • Tanpa biaya, memberikan siswa, startup, dan pengembang yang bekerja sampingan sebuah alat canggih dengan anggaran terbatas

  • Kemampuan penyesuaian, memungkinkan pengembang untuk mengambil fondasi alat CI dan membangun di atasnya agar sesuai dengan kebutuhan

  • Kemampuan untuk memodifikasi dan mendistribusikan kembali alat

Alat integrasi berkelanjutan sumber terbuka yang perlu dipertimbangkan untuk alur kerja pengembangan perangkat lunak Anda termasuk Jenkins, Go, Buildbot, dan Travis CI, yang bisa Anda baca di bagian selanjutnya.

Server integrasi berkelanjutan

Server integrasi berkelanjutan adalah alat bantu perangkat lunak yang memusatkan semua operasi integrasi berkelanjutan Anda dan menyediakan platform yang andal dan stabil untuk membangun proyek Anda. Anda dapat mengkonfigurasi dan menyesuaikan server CI untuk membangun berbagai proyek untuk platform yang berbeda. Server integrasi berkelanjutan dengan mudah memodelkan dan memvisualisasikan alur kerja yang kompleks (memungkinkan pengiriman berkelanjutan) dan menyediakan antarmuka yang intuitif untuk membangun jalur pengiriman berkelanjutan. Server integrasi berkelanjutan menawarkan kemampuan untuk:

  • Menjalankan pembuatan, pengujian, dan rilis otomatis di satu tempat

  • Menerapkan versi apa pun, kapan saja

  • Menjaga konfigurasi tetap teratur

  • Mendukung plug-in untuk meningkatkan fungsionalitas

  • Memantau repositori proyek Anda

  • Menarik perubahan dan melakukan tugas yang Anda tetapkan agar komit berhasil

  • Mengirim masukan ke anggota proyek yang relevan dengan rincian build
Contoh penggunaan integrasi berkelanjutan

Pertimbangkan contoh penggunaan hipotetis ini, yang mengilustrasikan bagaimana dua pengembang perangkat lunak dapat menggunakan integrasi berkelanjutan untuk meningkatkan proses DevOps mereka.

Kedua pengembang harus berkomunikasi satu sama lain tentang fitur mana yang berfungsi dan bagaimana caranya. Tim kecil ini memerlukan pembaruan rutin dan harus mampu mengintegrasikan dan menguji kode mereka secara keseluruhan. Menjadwalkan check-in dan pengujian kode memakan banyak waktu pengembangan. Diperlukan sistem otomatis untuk integrasi berkelanjutan.

Negosiasi mengenai kapan kombinasi dan tes ini akan terjadi akan menghabiskan banyak waktu pengembang. Mereka harus menyetuji:

  1. Kapan mulai menguji integrasi kode
  2. Cara menguji apakah integrasi telah berhasil
  3. Cara mengkomunikasikan hasil kepada tim

Platform integrasi berkelanjutan memiliki jawaban default untuk pertanyaan-pertanyaan ini dan sebagian besar memungkinkan konfigurasi dan pengaturan.

Biasanya, platform CI seperti Jenkins memulai pengujian integrasi saat check-in. Ketika kode baru masuk, sistem CI akan menjalankan serangkaian pengujian, yang dapat mencakup pengujian unit dan pengujian regresi, dan kemudian menentukan apakah kode tersebut berhasil diintegrasikan.

Atau, jika Anda menggunakan bahasa yang dikompilasi, pengujian default adalah jika kode berhasil dikompilasi. Jika tidak, maka kode baru merusak build. Untuk bahasa seperti Python atau JavaScript, Anda harus membuat uji integrasi Anda sendiri.

Bagaimanapun, sebagian besar sistem CI mencatat upaya integrasi, tingkat keberhasilan, dan metrik lainnya.

Pengujian dan praktik terbaik

Pentingnya pengujian

Pengujian berkelanjutan dimulai saat Anda menghasilkan build integrasi berkelanjutan dan paket (juga dikenal sebagai entitas yang dapat diinstal atau entitas yang dikemas). Pengujian berhenti ketika entitas yang dikemas itu masuk ke tahap produksi. Setiap langkah secara keseluruhan melibatkan rangkaian pengujian.

Minimal, ketika Anda hanya memiliki satu tahap pengujian, 30% integrasi berkelanjutan melibatkan pengujian. Pada kenyataannya, aktivitas integrasi berkelanjutan terdiri dari pengujian 50% hingga 70%. Dulu Anda harus menyelesaikan pengujian secara manual. Sekarang Anda dapat menggunakan pengujian otomatis, kunci keberhasilan integrasi berkelanjutan.

Sebagai bagian dari mengotomatiskan pengujian untuk integrasi berkelanjutan, pengembangan yang didorong oleh pengujian secara berulang-ulang membangun kode dan menguji satu contoh penggunaan pada satu waktu. Pendekatan ini memastikan cakupan pengujian, meningkatkan kualitas kode, dan menetapkan dasar untuk pengiriman berkelanjutan. Pengujian otomatis memberi tahu Anda apakah kode baru gagal dalam satu atau lebih pengujian yang dikembangkan di semua area fungsional aplikasi.

Praktik terbaik mengharuskan pengembang untuk menjalankan semua atau sebagian pengujian di lingkungan lokal mereka. Praktik ini memastikan bahwa pengembang hanya melakukan komit kode sumber ke kontrol versi setelah perubahan kode baru lulus pengujian. Pengalaman menunjukkan bahwa pengujian regresi yang efektif dapat membantu menghindari kejutan yang tidak diinginkan nanti.

Pipa integrasi berkelanjutan

Pipeline integrasi berkelanjutan mengotomatiskan tahapan pipeline proyek, seperti pembuatan, pengujian, dan penerapan, dengan cara yang dapat diulang dan intervensi manusia minimal. Pipeline integrasi berkelanjutan otomatis sangat penting untuk merampingkan pengembangan, pengujian, dan penerapan aplikasi Anda dengan mengaktifkan kontrol, pos pemeriksaan, dan kecepatan.

Praktik terbaik integrasi berkelanjutan

Proses integrasi berkelanjutan adalah komponen penting dari DevOps, yang membantu Anda menyatukan tim pengembangan dan operasi ke dalam repositori bersama untuk pengkodean, pengujian, penerapan, dan perangkat lunak pendukung. Beberapa praktik terbaik CI yang dapat membantu Anda sukses adalah:

  • Memelihara satu repositori kode sumber: Gunakan manajemen kontrol sumber untuk melacak dan mengontrol semua file untuk membangun produk. Basis kode yang terkonsolidasi ini membuat distribusi dan visibilitas menjadi lebih mudah.

  • Mengotomatiskan pembuatan: Praktek ini melibatkan kompilasi, penautan, dan proses lain yang menghasilkan artefak build. Pengujian mandiri juga harus dilakukan secara otomatis.

  • Menggunakan komitmen arus utama harian: Memaksa pengembang untuk melakukan perubahan mereka pada aliran pengembangan utama setidaknya satu kali setiap hari. Setiap pengembang harus memverifikasi bahwa salinan pekerjaan mereka konsisten dengan aliran pengembangan utama.

  • Pengujian dalam tiruan lingkungan produksi: Buatlah lingkungan pengujian semirip mungkin dengan lingkungan produksi akhir Anda.

  • Mengotomatiskan penerapan: Menerapkan beberapa lingkungan (pengembangan, integrasi, produksi) untuk menjalankan pembangunan dan pengujian.
Solusi terkait
IBM UrbanCode Build

Konfigurasikan dan jalankan pembuatan perangkat lunak dengan lebih mudah menggunakan alat IBM UrbanCode Build, solusi manajemen pembuatan skala perusahaan yang menggunakan sistem berbasis templat.

Jelajahi IBM UrbanCode Build
Resources Apa itu DevOps?

DevOps mempercepat pengiriman perangkat lunak berkualitas tinggi dengan menggabungkan dan mengotomatiskan pekerjaan pengembangan perangkat lunak dan tim operasi TI.

Apa itu pengiriman berkelanjutan?

Pengiriman berkelanjutan mengotomatiskan pengiriman aplikasi ke lingkungan pengujian dan produksi.

Apa itu CI/CD dan pipeline CI/CD?

Panduan praktis untuk pipeline integrasi berkelanjutan/pengiriman berkelanjutan (CI/CD).

Ambil langkah selanjutnya

Apakah Anda siap untuk DevOps? Untuk menghadirkan perangkat lunak dan layanan dengan kecepatan yang diminta pasar, tim harus mengulang dan bereksperimen dengan cepat, menerapkan versi baru sesering mungkin, dan didorong oleh masukan dan data. Tim pengembangan cloud yang paling sukses mengadopsi budaya dan praktik DevOps modern, merangkul arsitektur cloud-native, dan merakit rantai alat dari alat terbaik di kelasnya untuk meningkatkan produktivitas mereka.

Jelajahi solusi DevOps Coba gratis