Latar Belakang: apa itu Pengiriman Kontinu

Sebelumnya kami berbicara tentang Continuous Integration (CI). Lanjutkan dengan Pengiriman Berkelanjutan. Ini adalah seperangkat metode pengembangan perangkat lunak. Ini membantu untuk memastikan bahwa kode siap untuk ditempatkan.


/ Pixabay / bluebudgie / PL

Ceritanya


Kombinasi pengiriman terus-menerus dapat dilihat dalam manifest tangkas dari tahun 2001 di awal daftar prinsip-prinsip dasar: "Prioritas adalah solusi dari masalah pelanggan dengan menggunakan terus-menerus pasokan perangkat lunak yang relevan."

Pada 2010, Jez Humble dan David Farley merilis buku tentang Pengiriman Berkelanjutan. Menurut penulis, CD melengkapi pendekatan Integrasi Berkelanjutan dan membuatnya lebih mudah untuk mempersiapkan kode untuk ditempatkan.

Setelah penerbitan buku itu, pendekatan itu mulai mendapatkan popularitas dan hanya dalam beberapa tahun hampir diterima secara universal. Menurut sebuah survei di antara lebih dari 600 pengembang dan manajer TI pada tahun 2014, 97% manajer teknis dan 84% pemrogram akrab dengan Pengiriman Berkelanjutan.

Sekarang pendekatan ini tetap menjadi salah satu yang paling populer. Menurut sebuah studi 2018 yang menarik komunitas TI DevOps dan Jenkins Community , setengah dari lebih dari seribu responden menggunakannya.

Cara Kerja Pengiriman Berkelanjutan


Dasar dari CD adalah kesiapan kode untuk ditempatkan. Untuk menyelesaikan tugas ini, otomatisasi proses mempersiapkan perangkat lunak untuk rilis digunakan. Ini harus menjadi standar untuk berbagai lingkungan pengembangan, yang akan membantu Anda dengan cepat menemukan kelemahan dan mengoptimalkannya. Misalnya, percepat pengujian.

Contoh proses Pengiriman Berkelanjutan adalah sebagai berikut:



Jika pendekatan Integrasi Berkelanjutan bertanggung jawab untuk otomatisasi dua tahap pertama, maka untuk dua berikutnya - Pengiriman Berkelanjutan. Stabilitas proses dipastikan, antara lain, karena sistem manajemen konfigurasi . Mereka memantau perubahan dalam infrastruktur, database, dan dependensi. Penempatan itu sendiri dapat dilakukan secara otomatis, atau dapat dilakukan secara manual.

Proses ini memiliki persyaratan sebagai berikut:

  • Ketersediaan informasi tentang kesiapan untuk memasuki lingkungan produksi dan kesiapan untuk rilis segera (CD-tools menguji kode dan memungkinkan untuk mengevaluasi efek perubahan dalam rilis).
  • Tanggung jawab keseluruhan untuk produk akhir. Tim produk - manajer, pengembang, penguji - memikirkan hasil, dan bukan hanya tentang bidang tanggung jawab mereka (hasilnya adalah rilis yang berfungsi, yang tersedia untuk pengguna produk).

CD biasanya menggunakan tinjauan kode , dan prinsip peluncuran gelap digunakan untuk mengumpulkan pendapat pelanggan. Pertama, fitur baru dirilis untuk segmen kecil pengguna - pengalaman mereka dalam berinteraksi dengan produk membantu menemukan kekurangan dan bug yang tidak diperhatikan selama pengujian internal.

Apa manfaatnya?


Pengiriman Berkelanjutan membantu menyederhanakan penerapan kode, yang memiliki efek positif pada produktivitas dan mengurangi kemungkinan kelelahan karyawan. Pada akhirnya, ini mengurangi biaya pengembangan secara keseluruhan. Misalnya, CD membantu salah satu tim HP mengurangi biaya sebesar 40%.

Selain itu, menurut sebuah studi 2016 (halaman 28 dokumen ), perusahaan yang telah menerapkan CD adalah 50% lebih cepat dalam memecahkan masalah IS dibandingkan dengan mereka yang tidak menggunakan pendekatan. Sampai batas tertentu, perbedaan ini dapat dijelaskan oleh pekerjaan alat otomatisasi proses.

Kelebihan lainnya adalah akselerasi rilis rilis. Di studio pengembangan Finlandia, pengiriman terus-menerus membantu meningkatkan kecepatan perakitan kode hingga 25%.

Kesulitan potensial


Masalah pertama dan utama adalah kebutuhan untuk membangun kembali proses yang sudah dikenal. Untuk menunjukkan manfaat dari pendekatan baru, Anda harus beralih ke CD secara bertahap, dimulai dengan bukan aplikasi yang paling padat karya.

Masalah potensial kedua adalah sejumlah besar kode cabang. Konsekuensi dari "percabangan" adalah konflik yang sering terjadi dan kerugian besar dalam waktu yang lama. Solusi yang mungkin adalah pendekatan tanpa cabang .

Secara khusus, di beberapa perusahaan, kesulitan utama muncul dengan pengujian - ini membutuhkan terlalu banyak waktu. Hasil tes seringkali harus dianalisis secara manual, tetapi tes paralelisasi pada tahap awal implementasi CD mungkin merupakan solusi yang memungkinkan.

Anda juga harus melatih karyawan untuk bekerja dengan alat-alat baru - program pendidikan awal akan menghemat waktu dan tenaga pengembang.


/ Flickr / h.ger1969 / CC BY-SA

Alat-alatnya


Berikut adalah beberapa alat terbuka untuk Pengiriman Berkelanjutan:

  • GoCD adalah server untuk pengiriman berkelanjutan di Jawa dan JRuby on Rails. Memungkinkan Anda mengontrol seluruh proses pengiriman aplikasi: build-test-release. Alat ini dilisensikan di bawah Apache 2.0. Di situs web resmi Anda dapat menemukan panduan pengaturan .
  • Capistrano - kerangka kerja untuk membuat skrip yang mengotomatiskan penerapan aplikasi di Ruby, Java atau PHP. Capistrano dapat menjalankan perintah pada mesin jarak jauh, menghubungkannya melalui SSH. Bekerja dengan alat integrasi dan pengiriman berkelanjutan lainnya, seperti server Integrity CI.
  • Gradle adalah alat multi-platform yang mengotomatiskan seluruh siklus pengembangan aplikasi. Gradle bekerja dengan Java, Python, C / C ++, Scala, dll. Ada integrasi dengan Eclipse, IntelliJ dan Jenkins.
  • Drone adalah platform Go CD. Drone dapat digunakan di tempat atau di cloud. Alat ini dibangun berdasarkan wadah dan menggunakan file YAML untuk mengelolanya.
  • Spinnaker adalah platform untuk pengiriman kode terus menerus dalam sistem multi-cloud. Dikembangkan oleh Netflix, peran besar dalam pengembangan alat dimainkan oleh para insinyur Google. Instruksi pemasangan dapat ditemukan di situs web resmi .

Apa yang dibaca di blog perusahaan kami:

Source: https://habr.com/ru/post/id449364/


All Articles