Referensi: cara kerja proses Integrasi Berkelanjutan

Hari ini kita akan melihat sejarah istilah tersebut, membahas kesulitan penerapan CI, dan memberikan beberapa alat populer yang akan membantu Anda mengatasinya.

Referensi: cara kerja proses Integrasi Berkelanjutan
/flickr/ Altug Karakoc / CC BY / Foto dimodifikasi

istilah

Integrasi Berkelanjutan adalah pendekatan pengembangan aplikasi yang sering melibatkan pembuatan proyek dan pengujian kode.

Tujuannya adalah agar proses integrasi dapat diprediksi dan mendeteksi potensi bug dan kesalahan pada tahap awal, sehingga terdapat lebih banyak waktu untuk memperbaikinya.

Istilah Integrasi Berkelanjutan pertama kali muncul pada tahun 1991. Itu diperkenalkan oleh pencipta bahasa UML Grady Butch (Grady Booch). Insinyur tersebut memperkenalkan konsep CI sebagai bagian dari praktik pengembangannya sendiri - Metode Booch. Ini menyiratkan penyempurnaan arsitektur secara bertahap ketika merancang sistem berorientasi objek. Gradi tidak menjelaskan persyaratan apa pun untuk integrasi berkelanjutan. Namun kemudian dalam bukunya β€œAnalisis dan Desain Berorientasi Objek dengan Aplikasiβ€œDia mengatakan bahwa tujuan dari metodologi ini adalah untuk mempercepat rilis β€œrilis internal.”

Cerita

Pada tahun 1996, CI diadopsi oleh pencipta metodologi pemrograman ekstrim (XP) - Kent Beck (Kent Beck) dan Ron Jeffries (Ron Jeffries). Integrasi berkelanjutan menjadi salah satu dari dua belas prinsip utama pendekatan mereka. Para pendiri XP mengklarifikasi persyaratan metodologi CI dan mencatat perlunya membangun proyek beberapa kali sehari.

Pada awal tahun 2000-an, salah satu pendiri Agile Alliance mulai mempromosikan metodologi integrasi berkelanjutan Martin Fowler (Martin Fowler). Eksperimennya dengan CI menghasilkan perangkat lunak pertama di bidang ini - CruiseControl. Utilitas ini diciptakan oleh rekan Martin, Matthew Foemmel.

Siklus pembuatan pada alat ini diimplementasikan sebagai daemon yang secara berkala memeriksa sistem kontrol versi untuk melihat perubahan dalam basis kode. Solusinya dapat diunduh hari ini - itu didistribusikan oleh di bawah lisensi seperti BSD.

Dengan munculnya perangkat lunak untuk CI, semakin banyak perusahaan yang mulai mengadopsi praktik ini. Menurut penelitian Forrester [halaman 5 laporan], pada tahun 2009, 86% dari lima puluh perusahaan teknologi yang disurvei menggunakan atau menerapkan metode CI.

Saat ini, praktik Integrasi Berkelanjutan digunakan oleh organisasi dari berbagai industri. Pada tahun 2018, penyedia cloud besar melakukan survei terhadap spesialis TI dari perusahaan di sektor jasa, pendidikan, dan keuangan. Dari enam ribu responden, 58% mengatakan bahwa mereka menggunakan alat dan prinsip CI dalam pekerjaannya.

Bagaimana itu bekerja

Integrasi berkelanjutan didasarkan pada dua alat: sistem kontrol versi dan server CI. Yang terakhir dapat berupa perangkat fisik atau mesin virtual di lingkungan cloud. Pengembang mengunggah kode baru satu kali atau lebih dalam sehari. Server CI secara otomatis menyalinnya dengan semua dependensi dan membangunnya. Setelah itu, ia menjalankan pengujian integrasi dan unit. Jika pengujian berhasil, sistem CI akan menyebarkan kode tersebut.

Diagram proses umum dapat direpresentasikan sebagai berikut:

Referensi: cara kerja proses Integrasi Berkelanjutan

Metodologi CI membuat sejumlah persyaratan bagi pengembang:

  • Perbaiki masalah dengan segera. Prinsip ini datang ke CI dari pemrograman ekstrim. Memperbaiki bug adalah prioritas tertinggi pengembang.
  • Mengotomatiskan proses. Pengembang dan pengelola harus terus-menerus mencari hambatan dalam proses integrasi dan menghilangkannya. Misalnya, sering kali terjadi hambatan dalam integrasi bergantian pengujian.
  • Lakukan pertemuan sesering mungkin. Sekali sehari untuk menyinkronkan pekerjaan tim.

Kesulitan implementasi

Masalah pertama adalah tingginya biaya operasional. Bahkan jika sebuah perusahaan menggunakan alat CI terbuka (yang akan kita bahas nanti), perusahaan tersebut masih harus mengeluarkan uang untuk dukungan infrastruktur. Namun, teknologi cloud mungkin bisa menjadi solusinya.

Mereka menyederhanakan perakitan konfigurasi komputer dengan skala berbeda. Ditambah perusahaan membayar hanya untuk sumber daya yang digunakan, yang membantu menghemat infrastruktur.

Menurut survei [halaman 14 Artikel], integrasi berkelanjutan meningkatkan beban karyawan perusahaan (setidaknya pada awalnya). Mereka harus mempelajari alat-alat baru, dan rekan kerja tidak selalu membantu dalam pelatihan. Oleh karena itu, Anda harus berurusan dengan kerangka kerja dan layanan baru saat bepergian.

Kesulitan ketiga adalah masalah otomatisasi. Organisasi dengan sejumlah besar kode lama yang tidak tercakup dalam pengujian otomatis menghadapi masalah ini. Hal ini mengarah pada fakta bahwa kode tersebut hanya ditulis ulang sebelum implementasi penuh CI.

Referensi: cara kerja proses Integrasi Berkelanjutan
/flickr/ mereka / CC BY-SA

Siapa yang menggunakan

Raksasa TI termasuk yang pertama menyadari manfaat metodologi ini. Google menggunakan integrasi berkelanjutan sejak pertengahan tahun 2000an. CI diimplementasikan untuk mengatasi masalah keterlambatan pada mesin pencari. Integrasi berkelanjutan membantu mendeteksi dan menyelesaikan masalah dengan cepat. Sekarang CI digunakan oleh semua departemen raksasa IT itu.

Integrasi berkelanjutan juga membantu perusahaan kecil, dan alat CI juga digunakan oleh organisasi keuangan dan layanan kesehatan. Misalnya, di Morningstar, layanan integrasi berkelanjutan membantu menambal kerentanan 70% lebih cepat. Dan platform medis Philips Healthcare mampu menggandakan kecepatan pembaruan pengujian.

Alat

Berikut beberapa alat populer untuk CI:

  • Jenkins adalah salah satu sistem CI yang paling populer. Ini mendukung lebih dari seribu plugin untuk integrasi dengan berbagai VCS, platform cloud, dan layanan lainnya. Kami juga menggunakan Jenkins di 1cloud: tool termasuk dalam sistem DevOps kami. Dia secara teratur memeriksa cabang Git yang dimaksudkan untuk pengujian.
  • membangunbot β€” kerangka kerja python untuk menulis proses integrasi berkelanjutan Anda sendiri. Penyiapan awal alat ini cukup rumit, tetapi hal ini diimbangi dengan opsi penyesuaian yang luas. Di antara kelebihan kerangka ini, pengguna menyoroti intensitas sumber dayanya yang rendah.
  • Concourse CI adalah server dari Pivotal yang menggunakan container Docker. Concourse CI terintegrasi dengan alat dan sistem kontrol versi apa pun. Pengembang mencatat bahwa sistem ini cocok untuk bekerja di perusahaan dengan ukuran berapa pun.
  • Gitlab CI adalah alat yang dibangun ke dalam sistem kontrol versi GitLab. Layanan ini berjalan di cloud dan menggunakan file YAML untuk konfigurasi. Seperti Concourse, Gitlab CI berlaku Kontainer Docker yang membantu mengisolasi proses yang berbeda satu sama lain.
  • Kode adalah server cloud CI yang bekerja dengan GitHub, GitLab, dan BitBucket. Platform ini tidak memerlukan pengaturan awal yang lama - proses CI standar yang sudah diinstal sebelumnya tersedia di Codeship. Untuk proyek kecil (hingga 100 build per bulan) dan proyek sumber terbuka, Codeship tersedia gratis.

Bahan dari blog perusahaan kami:

Sumber: www.habr.com

Tambah komentar