Apa itu continuous integration/continuous delivery (CI/CD)?

diterbitkan 24 September 2024
diperbarui 19 Juni 2026
Latar belakang teknologi 3D abstrak yang menampilkan laptop dengan kubus
By Stephanie Susnjara and Ian Smalley

Apa itu pipeline CI/CD?

Pipeline integrasi berkelanjutan/pengiriman berkelanjutan (CI/CD) adalah alur kerja DevOps yang menyederhanakan proses pengiriman perangkat lunak.

Karakteristik penting dari pipeline CI/CD adalah penggunaan otomatisasi guna membantu memastikan kualitas kode. Seiring perubahan perangkat lunak bergerak melalui pipeline, pengujian otomatis mengidentifikasi dependensi dan masalah lainnya lebih awal, mendorong perubahan kode ke lingkungan yang berbeda, dan mengirimkan aplikasi ke lingkungan produksi.

Dalam konteks ini, peran otomatisasi adalah melakukan kontrol kualitas, serta menilai segala hal mulai dari kinerja hingga penggunaan antarmuka pemrograman aplikasi (API) dan keamanan. Proses ini membantu memastikan bahwa perubahan yang dibuat seluruh anggota tim terintegrasi secara komprehensif dan berjalan sebagaimana dimaksud.

Kemampuan untuk mengotomatiskan berbagai fase pipeline CI/CD membantu tim pengembangan meningkatkan kualitas, bekerja lebih cepat, dan meningkatkan metrik DevOps lainnya.

 

Pipeline CI/CD versus CI/CD: Apa bedanya?

Jika pipeline CI/CD mengacu pada alur kerja DevOps yang tangkas, CI/CD merupakan singkatan dari praktik gabungan integrasi berkelanjutan dan pengiriman berkelanjutan.

CI/CD menciptakan cara yang lebih cepat dan tepat untuk menggabungkan pekerjaan berbagai orang menjadi satu produk yang kohesif. Pada lingkungan DevOps, CI/CD menyederhanakan proses pengodean, pengujian, dan penerapan aplikasi. Pendekatan ini memberikan tim repositori tunggal untuk menyimpan hasil kerja dan otomatisasi untuk menggabungkan serta menguji kode guna membantu memastikan kode tersebut bekerja secara konsisten.

 

IBM DevOps

Apa itu DevOps?

Andrea Crawford menjelaskan apa itu DevOps, nilai DevOps, dan cara praktik serta alat DevOps membantu Anda memproses aplikasi Anda melalui seluruh delivery pipeline, dari ide hingga produksi. Dipimpin oleh para pemimpin terkemuka IBM, kurikulumnya dirancang untuk membantu para pemimpin bisnis dalam mendapatkan pengetahuan yang diperlukan untuk memprioritaskan investasi AI yang dapat mendorong pertumbuhan.

Manfaat pipeline CI/CD

Pipeline CI/CD memungkinkan tim DevOps menulis kode, mengintegrasikannya, menjalankan pengujian, mengirimkan rilis, dan menerapkan perubahan pada perangkat lunak secara kolaboratif dan real-time. Meskipun otomatisasi rilis perangkat lunak — dari pengujian awal hingga penerapan akhir — merupakan manfaat signifikan dari pipeline CI/CD, manfaat lainnya meliputi:

  • Mengurangi waktu penerapan: Pengujian otomatis membuat proses pengembangan lebih efisien serta mengurangi durasi proses pengiriman perangkat lunak. Selain itu, penerapan berkelanjutan dan penyediaan otomatis memungkinkan perubahan yang dibuat pengembang pada aplikasi cloud untuk ditayangkan dalam beberapa menit setelah ditulis.

  • Penurunan biaya: Pengembangan, pengujian, dan produksi yang cepat (difasilitasi oleh otomatisasi) berarti lebih sedikit waktu yang dihabiskan bagi pengembangan. Proses ini menghasilkan pengurangan biaya dibandingkan pengembangan perangkat lunak tradisional.

  • Feedback loop berkelanjutan: Pipeline CI/CD mewakili siklus yang berkelanjutan: build, test, deploy. Feedback loop memungkinkan pengembang bertindak dan meningkatkan kode dengan cepat setiap kali kode tersebut diuji.

  • Deteksi kesalahan awal: Dalam integrasi berkelanjutan, pengujian otomatis dijalankan pada setiap versi kode untuk mendeteksi masalah integrasi. Masalah tersebut lebih mudah diperbaiki jika terdeteksi lebih awal dalam pipeline.

  • Mengurangi waktu henti dan meningkatkan keandalan: Jika terjadi kegagalan penerapan, bug, atau masalah kinerja, fitur seperti rollback otomatis mengembalikan sistem perangkat lunak atau aplikasi ke kondisi stabil sebelumnya. Fitur ini meminimalkan waktu henti dan meningkatkan keandalan layanan.

  • Peningkatan kolaborasi tim dan integrasi sistem: Setiap anggota tim dapat mengubah kode, menanggapi masukan, dan dengan cepat merespons masalah apa pun.

Bagaimana cara kerja pipeline CI/CD?

Pipeline CI/CD terdiri atas 3 metodologi yang terhubung:

  • Integrasi berkelanjutan
  • Pengiriman berkelanjutan
  • Penerapan berkelanjutan

Apa itu integrasi berkelanjutan?

Proses CI/CD dimulai dengan integrasi berkelanjutan (CI), yaitu ketika pengembang menyerahkan kodenya ke repositori pusat yang dikelola sistem kontrol versi (VCS). CI memungkinkan pengembang bekerja secara mandiri dan membuat branch pengodean sendiri untuk menerapkan perubahan yang kecil.

Saat pengembang bekerja, mereka dapat mengambil snapshot dari kode sumber, biasanya menggunakan alat versi seperti Git. Pengembang kemudian bebas mengerjakan fitur baru; jika masalah muncul, Git dapat dengan cepat mengembalikan basis kode ke kondisi sebelumnya.

Pekerjaan individual kemudian didorong ke dalam sistem otomatis yang menggunakan skrip untuk melakukan build dan menguji perubahan kode. Setelah tahap build otomatis, server CI mengompilasi perubahan kode sumber ke branch utama atau trunk dari repositori kode sumber bersama.

Alih-alih menulis kode secara independen dan mengirimkannya ke branch kode utama sebulan sekali — yang dapat menyebabkan beban pekerjaan perbaikan bug dan kontrol versi yang buruk — proses pengembangan CI/CD memungkinkan tim mengirimkan perubahan kode lebih sering. Pengujian berkelanjutan tersebut menawarkan perbaikan bug yang lebih cepat, membantu memastikan fungsionalitas, dan pada akhirnya menghasilkan kolaborasi serta kualitas perangkat lunak yang lebih baik.

 

Apa itu pengiriman berkelanjutan?

Langkah selanjutnya dalam pipeline adalah pengiriman berkelanjutan (CD), yang memindahkan perubahan kode tervalidasi yang dibuat dalam integrasi berkelanjutan ke lingkungan tertentu atau repositori kode, seperti GitHub. Pada tahap ini, tim operasi dapat menerapkan perubahan tersebut ke lingkungan produksi live.

Perangkat lunak dan API diuji, dan kesalahan diselesaikan melalui proses yang otomatis. Pada langkah terakhir dari proses CD, tim DevOps menerima pemberitahuan mengenai build terbaru, dan mengirimkannya secara manual ke tahap penerapan.

Tujuan tahap continuous delivery dalam pipeline adalah menerapkan kode baru dengan upaya minimal, namun tetap memungkinkan adanya pengawasan manusia.

 

Apa itu penerapan berkelanjutan?

CD dalam proses CI/CD juga merupakan singkatan dari penerapan berkelanjutan. Penerapan berkelanjutan secara otomatis merilis perubahan kode kepada pengguna akhir setelah kode tersebut melewati serangkaian pengujian yang telah ditentukan sebelumnya, seperti integration test yang menguji kode pada lingkungan staging untuk membantu memastikan integritas kode.

Pengiriman berkelanjutan versus penerapan berkelanjutan

Pengiriman berkelanjutan dan penerapan berkelanjutan berkaitan dengan otomatisasi pada tahap yang lebih lanjut dalam pipeline daripada CI, dan sering digunakan secara bergantian.

Perbedaan antara pengiriman berkelanjutan dan penerapan berkelanjutan terletak pada tingkat otomatisasi yang digunakan dalam rilis perangkat lunak atau aplikasi. Dalam pengiriman berkelanjutan, kode secara otomatis dipindahkan ke lingkungan production-like untuk pengujian lebih lanjut dan jaminan kualitas, seperti penilaian risiko dan identifikasi kerentanan kode sumber. Intervensi manusia diperlukan untuk memindahkannya ke produksi setelah pengujian berhasil.

Dalam penerapan berkelanjutan, otomatisasi berjalan lebih jauh. Setelah kode lulus pengujian, penerapan ke produksi terjadi secara otomatis — persetujuan manusia tidak diperlukan.

Cara organisasi menerapkan pipeline CI/CD — serta keputusan untuk menggunakan pengiriman atau penerapan berkelanjutan — bergantung pada kebutuhan bisnisnya. Penerapan berkelanjutan paling sesuai bagi tim DevOps dengan siklus pengembangan yang cepat, seperti tim yang membangun situs e-commerce dan platform perangkat lunak sebagai layanan (SaaS).

Penerapan berkelanjutan mendukung proses rilis perangkat lunak dengan memungkinkan tim merilis perangkat lunak baru atau yang diperbarui secara sering dan secepat mungkin. Karena perubahan diterapkan kepada publik secara otomatis, jenis pipeline penerapan berkelanjutan ini biasanya hanya digunakan oleh tim DevOps yang memiliki proses yang terbukti.

Bagi tim yang mungkin tidak perlu merilis pembaruan sesering itu dalam alur kerjanya — seperti tim yang membangun aplikasi perawatan kesehatan — pengiriman berkelanjutan biasanya merupakan pilihan yang lebih disukai. Langkah tersebut lebih lambat, tetapi menawarkan lapisan pengawasan tambahan untuk membantu memastikan fungsionalitas bagi pengguna akhir.

Untuk penjelasan lebih rinci mengenai perbedaan antara pengiriman berkelanjutan dan penerapan berkelanjutan, silakan tonton video ini.

 

Apa itu pipeline machine learning?

Pipeline machine learning adalah serangkaian langkah pemrosesan dan pemodelan data yang saling berhubungan dan dirancang untuk mengotomatiskan, menstandarkan, dan menyederhanakan proses membangun, melatih, mengevaluasi, dan menerapkan model machine learning.

Pipeline machine learning merupakan komponen penting dalam pengembangan dan produksi sistem machine learning (ML). Selain itu, perannya semakin penting karena pertumbuhan big data dan kecerdasan buatan (AI).

Menurut Kings Research, ukuran pasar machine learning global bernilai USD 26,06 miliar pada tahun 2023 dan diproyeksikan tumbuh dari USD 35,44 miliar pada tahun 2024 menjadi USD 328,89 miliar pada tahun 2031, dengan CAGR 37,47% selama periode perkiraan 2024–2031.¹

Pipeline machine learning terintegrasi dengan praktik DevOps untuk memungkinkan CI/CD model machine learning. Integrasi tersebut disebut operasi machine learning (MLOps), yang membantu tim ilmu data secara efektif mengelola kompleksitas orkestrasi ML.

 

Tahapan-tahapan dalam pipeline CI/CD

Dari kode sumber hingga produksi, tahapan berikut terdiri atas siklus proses pengembangan dan alur kerja pipeline CI/CD: 

  • Build

  • Test

  • Deliver

  • Deploy

Build

Tahap ini merupakan bagian dari proses integrasi berkelanjutan dan melibatkan pembuatan serta kompilasi kode. Tim melakukan build kode sumber secara kolaboratif dan mengintegrasikan kode baru sambil dengan cepat mengidentifikasi masalah atau konflik apa pun.

 

Test

Pada tahap ini, tim menguji kode. Pengujian otomatis terjadi dalam pengiriman dan penerapan berkelanjutan. Tahap ini dapat mencakup integration test, unit test, dan regression test.

Deliver

Pada tahap ini, basis kode yang disetujui dikirim ke lingkungan produksi. Tahap ini diotomatiskan dalam penerapan berkelanjutan, dan hanya diotomatiskan dalam pengiriman berkelanjutan setelah memperoleh persetujuan pengembang.

Deploy

Terakhir, perubahan diterapkan, dan produk akhir berpindah ke produksi. Dalam pengiriman berkelanjutan, produk atau kode dikirim ke repositori dan dipindahkan ke produksi atau penerapan dengan persetujuan manusia. Dalam penerapan berkelanjutan, langkah tersebut diotomatiskan.

 

Alat dan konfigurasi CI/CD

Saat memilih alat CI/CD, fokusnya harus pada pengoptimalan dan otomatisasi proses pengembangan perangkat lunak. Pipeline CI/CD yang efektif menggunakan alat sumber terbuka bagi integrasi, pengujian, dan penerapan. Konfigurasi yang benar atas proses CI/CD Anda juga memengaruhi keberhasilan pipeline pengembangan perangkat lunak.

Alat CI/CD sumber terbuka yang paling umum adalah Jenkins. Jenkins adalah server CI otomatis yang ditulis dalam Java dan digunakan untuk mengotomatiskan langkah serta pelaporan CI/CD. Alat sumber terbuka lainnya bagi integrasi mencakup Travis CI dan CircleCI.

Selain alat sumber terbuka, seluruh penyedia layanan cloud utama — Google Cloud, IBM® Cloud, Microsoft Azure, dan Amazon Web Services (AWS) — menawarkan rantai alat CI/CD berbasis cloud, pipeline, dan integrasi.

Platform hosting repositori kode, seperti GitHub atau AWS CodeCommit, membantu pengembang membuat, memelihara, dan melacak paket perangkat lunak. Pada saat yang sama, platform seperti GitLab menyediakan kemampuan CI/CD terintegrasi dalam platform komprehensif yang mencakup alat lain.

Saat beroperasi pada lingkungan cloud, tim DevOps cloud-native menggunakan kontainer seperti Docker bagi pengemasan dan pengiriman aplikasi, serta menggunakan alat orkestrasi kontainer seperti Kubernetes. Meskipun Kubernetes tidak dirancang khusus bagi pipeline CI/CD, Kubernetes digunakan pada banyak alur kerja CI/CD.

 

Keamanan CI/CD

Keamanan CI/CD berfokus pada praktik, proses, dan teknologi yang menerapkan serta mengelola langkah keamanan dan kepatuhan di seluruh pipeline CI/CD.

Di masa lalu, keamanan “ditambahkan di akhir” siklus pengembangan perangkat lunak. Kemajuan platform cloud, microservices, dan kontainer menjadikan pendekatan pengembangan tradisional tidak lagi memadai.

Keamanan mungkin tidak mampu mengikuti rilis yang cepat karena pengembang mengadopsi praktik agile dan DevOps, sehingga mendorong lahirnya DevSecOps, yang merupakan singkatan dari pengembangan, keamanan, dan operasi. DevSecOps mengotomatiskan integrasi alat keamanan ke dalam pipeline integrasi berkelanjutan (CI) dan pengiriman berkelanjutan (CD).

Praktik DevSecOps mencakup shift-left dan shift-right testing. shift-left testing melibatkan pengintegrasian pengujian keamanan dan praktik pengembangan penting lainnya pada tahap awal siklus pengembangan perangkat lunak (SDLC). Shift-right testing melibatkan pengujian pada tahap yang lebih lanjut dalam pengembangan, biasanya pada lingkungan produksi. Kedua metode tersebut saling melengkapi melalui penyebaran tanggung jawab pengujian di seluruh SDLC.

 

Penyusun

Stephanie Susnjara

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

Solusi terkait
IBM Instana Observability

Memanfaatkan kekuatan AI dan otomatisasi untuk memecahkan masalah secara proaktif di seluruh tumpukan aplikasi.

Jelajahi IBM Instana Observability
Solusi DevOps

Gunakan perangkat lunak dan alat bantu DevOps untuk membangun, menerapkan, dan mengelola aplikasi cloud native di berbagai perangkat dan lingkungan.

Jelajahi solusi DevOps
Layanan konsultasi cloud

Percepat ketangkasan dan pertumbuhan bisnis — terus modernisasi aplikasi Anda di platform apa pun menggunakan layanan konsultasi cloud kami.

Jelajahi layanan konsultasi cloud
Ambil langkah selanjutnya

Dari deteksi masalah proaktif dengan IBM Instana® hingga insight real-time di seluruh tumpukan, Anda dapat menjaga aplikasi cloud-native tetap berjalan dengan andal.

  1. Pelajari IBM Instana
  2. Jelajahi solusi DevOps