Home » Kuliah IT » Sistem Informasi » Pengertian CI/CD: Fungsi dan Konsepnya

Pengertian CI/CD: Fungsi dan Konsepnya

by Suma Anggoro
by Suma Anggoro

Section Artikel

Konsep CI/CD

Konsep ini merupakan salah satu yang baru di industri, terutama jika anda mengerjakan DevOps, itu luar biasa, tetapi apa itu dan mengapa itu luar biasa. sekarang sebelum memahami konsep ini, mari kita pahami mengapa konsep ini mucul.

Jadi mari kita kembali beberapa tahun ke belakang dan mari kita bicara tentang Waterfall Model. Katakanlah jika anda memiliki klien dan klien anda mengatakan mereka ingin anda membangun sebuah proyek. Dalam hal ini akan membutuhkan waktu bagi Anda untuk membuat proyek dengan benar. Mungkin enam bulan, mungkin satu tahun atau mungkin lima tahun.

Dalam hal ini Anda tidak bisa begitu saja meminta klien Anda menunggu selama satu tahun untuk memberikan proyek. Karena banyak hal berubah sangat cepat, sekarang klien anda tidak bisa menunggu karena klien memiliki persyaratan yang mungkin berubah atau mungkin ada beberapa miskomunikasi.

Jadi seperti klien meminta sesuatu yang lain dan Anda memberikan sesuatu yang lain. Untuk itu anda membutuhkan umpan balik yang terus menerus dengan benar dan itulah mengapa konsep ini menggunakan yang pendekatan yang berbeda.

Dengan apa yang Anda miliki, yang menjadi tanggung jawab Anda adalah memberikan klien anda produk siap pakai setiap dua hingga tiga minggu. bukan keseluruhan produk tetapi beberapa bagiannya. Katakanlah anda memiliki 10 fitur, anda dapat memberikan satu fitur dalam dua atau tiga minggu.

Itu akan luar biasa dari sisi klien karena anda akan mendapatkan umpan balik yang berkelanjutan. Hal selanjutnya adalah katakanlah saya dan Anda mengerjakan sebuah proyek, dan dalam proyek itu anda memiliki modul tertentu dan Anda memiliki banyak pengembang untuk mengerjakannya.

jadi apa yang anda lakukan adalah memberi satu modul untuk setiap pengembang. Misalkan ketika anda sebagai pengembang perangkat lunak, mengerjakan sebuah proyek menggunakan java. Anda akan menulis kode java dan Anda juga bertanggung jawab untuk mengujinya, dan untuk mengujinya anda akan menggunakan JUnit.

Ketika Anda menguji class anda, itu berfungsi dengan sempurna tetapi kemudian kita melewatkan satu hal dalam pengujian. jadi kita punya satu hal lagi yang disebut Pengujian Integrasi /Integration Testing karena semua pengembang ini mereka akan bekerja sama dan ketika mereka bekerja sama mereka harus mengintegrasikannya di suatu tempat.

Sehingga anda berpikir karena kita butuh tim developer, tim operasi dan tim QA. Tim operasi anda bertanggung jawab untuk mengambil proyek itu dan menerapkannya di server tetapi kemudian anda melewatkan salah satu pengujian itu. jadi siapa yang mungkin melakukannya dan kemudian kita memiliki otomatisasi menguji hal-hal ini.

jadi Anda telah memutuskan bahwa kami akan bekerja selama satu minggu dan setiap hari Jumat kami akan menerapkan proyek tersebut. kami akan mengintegrasikan proyek dan kemudian akan ada tes otomasi bagaimana jika ada yang salah dalam tes otomasi. bagaimana jika ada bug. jadi masalahnya adalah Anda tidak ingin menghabiskan akhir pekan di kantor. jadi apa yang akan Anda lakukan untuk memecahkan masalah itu.

CI (Continuous Integration)

CI adalah singkatan dari Continuous Integration sesuai dengan namanya, CI menyarankan bagaimana jika anda mengintegrasikan modul Anda dengan sangat sering. katakanlah dalam sehari Anda akan melakukan mungkin 5 sampai 6 kali commit.

jadi setiap kali Anda membuat perubahan setiap kali menurut Anda itu berhasil untuk Anda dalam pengujian baru Anda, cukup kirimkan / commit di repositori.

Keuntungannya adalah semua pengembang Anda akan datang ke server dan setiap kali Anda mengirimkan, di sana pengembang akan melakukan tes otomasi.

itu berarti pada akhirnya atau setelah setiap komit, kita akan memiliki proyek siap yang diuji dan anda memiliki keyakinan bahwa itu berhasil. Menggunakan CI berarti masalah komitmen di penghujung hari atau mungkin setelah seminggu.

CD (Continuous Delivery & Continuous Deployment)


CD memiliki dua bagian, terdiri atas Continuous Delivery & Continuous Deployment. Orang sering mencampurkan 2 istilah itu, tetapi mereka tidak sama, mereka berbeda. Penting untuk memahami perbedaan antara Pengiriman dan Penyebaran.

Ketika kita membahas CI, kita memiliki proyek yang harus dilakukan sangat sering hingga siap untuk dikirimkan. Mungkin kita ingin melihat kemajuannya, cukup dengan menunjukkan model kerja di Mock Server alih-alih pada server produksi.

Dengan menggunakan Mock Server kita akan mendapatkan produksi seperti pada server aslinya dan akan menjalankan proyek saat ini di server itu. Sehingga akan memberi keyakinan bahwa semuanya berjalan dengan baik dan hal itu juga akan membuat klien kita senang dan kita juga bisa memeriksa kinerja sistem. jadi ketika kita mengalihkan proyek dari hal ini ke lingkungan produksi, itu adalah yang disebut dengan pengiriman (Delivery).

jadi tentu saja Anda tidak akan menerapkannya secara langsung pada orang tersebut. Tetapi Anda membuatnya tetap siap untuk penerapan sehingga pada titik mana pun. Kita dapat berpikir untuk membuatnya selalu siap sedia untuk diterapkan.

Sekarang tidak semua perusahaan melakukan ini, karena setiap perusahaan mempunyai persyaratan yang berbeda, pendekatan yang berbeda. Beberapa perusahaan hanya menggunakan CI, mereka bahkan tidak menggunakan DI. Karena beberapa perusahaan bergerak dalam pengiriman dan beberapa perusahaan bergerak dalam penyebaran lanjutan.

Penutup

Jadi apakah CI / CD semudah itu diimplementasikan ?, jawabannya tidak. Karena awalnya anda sudah harus membuat tim Anda siap untuk ini, kedua Anda harus membuat pipeline agar semuanya terjadi secara berurutan.

Karena untuk melakukannya, anda akan mengujinya dan pipeline dipersiapkan untuk penerapan. jadi itulah alur pipeline yang akan anda buat. Sebagai alat bantu kita dapat menggunakan software Jenkins yang merupakan salah satu alat terbaik yang tersedia untuk pengembangan perangkat lunak.

You may also like