Bantuan: apakah itu Penghantaran Berterusan

Sebelum ini kita diberitahu tentang Integrasi Berterusan (CI). Jom teruskan dengan Penghantaran Berterusan. Ini adalah satu set kaedah pembangunan perisian. Ia membantu memastikan kod anda sedia untuk digunakan.

Bantuan: apakah itu Penghantaran Berterusan
/Pixabay/ bluebudgie / PL

Kisah

Frasa penghantaran berterusan boleh dilihat semula manifesto tangkas dari 2001 pada permulaan senarai prinsip asas: "Keutamaan adalah menyelesaikan masalah pelanggan melalui penghantaran berterusan perisian terkini."

Pada tahun 2010, Jez Humble dan David Farley dikeluarkan sebuah buku oleh Penghantaran Berterusan. Menurut pengarang, CD melengkapkan pendekatan Integrasi Berterusan dan membolehkan anda memudahkan penyediaan kod untuk penggunaan.

Selepas penerbitan buku itu, pendekatan itu mula mendapat populariti dan hanya dalam beberapa tahun ia hampir diterima secara universal. mengikut tinjauan, dijalankan di kalangan lebih 600 pembangun dan pengurus IT pada 2014, 97% pengurus teknikal dan 84% pengaturcara sudah biasa dengan Penghantaran Berterusan.

Sekarang pendekatan ini kekal sebagai salah satu yang paling popular. Menurut kajian 2018 yang melibatkan komuniti IT DevOps dan Komuniti Jenkins, ia kegunaan separuh daripada lebih seribu responden yang dikaji.

Bagaimanakah Penghantaran Berterusan berfungsi?

Asas CD ialah kesediaan kod untuk penggunaan. Untuk melaksanakan tugas ini, automasi proses penyediaan perisian untuk keluaran digunakan. Ia mestilah standard merentas persekitaran pembangunan yang berbeza, yang akan membantu mencari titik lemah dan mengoptimumkannya dengan cepat. Sebagai contoh, mempercepatkan ujian.

Contoh proses Penghantaran Berterusan kelihatan seperti ini:

Bantuan: apakah itu Penghantaran Berterusan

Jika pendekatan Integrasi Berterusan bertanggungjawab untuk mengautomasikan dua peringkat pertama, maka Penghantaran Berterusan bertanggungjawab untuk dua peringkat seterusnya. Kestabilan proses dipastikan, antara lain, oleh sistem pengurusan konfigurasi. Mereka memantau perubahan dalam infrastruktur, pangkalan data dan kebergantungan. Arahan itu sendiri boleh diautomasikan atau dilakukan secara manual.

Keperluan berikut dikenakan ke atas proses:

  • Ketersediaan maklumat tentang kesediaan untuk memasuki persekitaran pengeluaran dan kesediaan untuk keluaran segera (alat CD menguji kod dan memungkinkan untuk menilai kesan perubahan dalam keluaran).
  • Tanggungjawab keseluruhan untuk produk akhir. Pasukan produk - pengurus, pembangun, penguji - fikirkan tentang hasilnya, dan bukan hanya tentang bidang tanggungjawab mereka (hasilnya ialah keluaran kerja yang tersedia untuk pengguna produk).

Dalam CD ia biasanya digunakan semakan kod, dan untuk mengumpul pendapat pelanggan - prinsip pelancaran gelap. Ciri baharu pertama kali dikeluarkan kepada segmen kecil pengguna - pengalaman mereka berinteraksi dengan produk membantu mencari kekurangan dan pepijat yang tidak disedari semasa ujian dalaman.

Apa faedahnya

Penghantaran Berterusan membantu memudahkan penggunaan kod, yang memberi kesan positif terhadap produktiviti dan mengurangkan kemungkinan keletihan pekerja. Akhirnya, ini mengurangkan kos pembangunan keseluruhan. Contohnya, CD membantu salah satu pasukan HP mengurangkan kos sedemikian sebanyak 40%.

Di samping itu, menurut kajian 2016 (halaman 28 dokumen) - syarikat yang telah melaksanakan CD menyelesaikan masalah keselamatan maklumat 50% lebih cepat daripada mereka yang tidak menggunakan pendekatan. Sedikit sebanyak, perbezaan ini boleh dijelaskan oleh prestasi alat automasi proses.

Satu lagi kelebihan ialah pecutan keluaran. Penghantaran berterusan di studio pembangunan Finland membantu meningkatkan kelajuan pemasangan kod sebanyak 25%.

Potensi Kesukaran

Masalah pertama dan utama ialah keperluan untuk membina semula proses biasa. Untuk menunjukkan faedah pendekatan baharu, ia patut beralih kepada CD secara beransur-ansur, bukan bermula dengan aplikasi yang paling intensif buruh.

Masalah potensi kedua ialah bilangan cawangan kod yang banyak. Akibat daripada "percabangan" adalah konflik yang kerap dan kehilangan masa yang banyak lagi. Penyelesaian yang mungkin - pendekatan tiada cawangan.

Khususnya, dalam sesetengah syarikat, kesukaran utama timbul dengan ujian - ia mengambil terlalu banyak masa. Keputusan ujian selalunya perlu dianalisis secara manual, tetapi penyelesaian yang mungkin adalah dengan menyelaraskan ujian pada peringkat awal pelaksanaan CD.

Anda juga harus melatih pekerja untuk bekerja dengan alatan baharu - program pendidikan awal akan menjimatkan usaha dan masa pembangun.

Bantuan: apakah itu Penghantaran Berterusan
/Flickr/ h.ger1969 / CC BY-SA

Tools

Berikut ialah beberapa alatan terbuka untuk Penghantaran Berterusan:

  • GoCD — pelayan untuk penghantaran berterusan dalam Java dan JRuby on Rails. Membolehkan anda mengawal keseluruhan proses penghantaran aplikasi: build—test—release. Alat ini diedarkan di bawah lesen Apache 2.0. Anda boleh menemuinya di laman web rasmi panduan persediaan.
  • Capistrano — rangka kerja untuk mencipta skrip yang mengautomasikan penggunaan aplikasi dalam Ruby, Java atau PHP. Capistrano dapat melaksanakan arahan pada mesin jauh dengan menyambung kepadanya melalui SSH. Berfungsi dengan alat penyepaduan dan penghantaran berterusan lain, seperti pelayan Integriti CI.
  • Gradle ialah alat berbilang platform yang mengautomasikan keseluruhan kitaran pembangunan aplikasi. Gradle berfungsi dengan Java, Python, C/C++, Scala, dll. Terdapat integrasi dengan Eclipse, IntelliJ dan Jenkins.
  • Drone - Platform CD dalam bahasa Go. Drone boleh digunakan di premis atau di awan. Alat ini dibina di atas bekas dan menggunakan fail YAML untuk mengurusnya.
  • Spinnaker — platform untuk penghantaran kod berterusan dalam sistem berbilang awan. Dibangunkan oleh Netflix, jurutera Google memainkan peranan yang besar dalam pembangunan alat tersebut. Arahan pemasangan cari di laman web rasmi.

Perkara yang perlu dibaca di blog korporat kami:

Sumber: www.habr.com

Tambah komen