Pitulung: naon Continuous Delivery

Saméméhna urang ngawartosan ngeunaan Continuous Integration (CI). Hayu urang neruskeun kalawan Continuous Delivery. Ieu mangrupikeun sakumpulan metode pangembangan parangkat lunak. Eta mantuan mastikeun yén kode anjeun geus siap pikeun deployment.

Pitulung: naon Continuous Delivery
/Pixabay/ bluebudgie / PL

dongeng

Frase pangiriman kontinyu bisa ditempo deui dina manifesto lincah ti 2001 di awal daptar prinsip dasar: "Prioritas ngarengsekeun masalah customer ngaliwatan pangiriman kontinyu software up-to-date."

Dina 2010, Jez Humble jeung David Farley dileupaskeun buku ku Pangiriman Kontinyu. Numutkeun pangarang, CD complements pendekatan Pamaduan kontinyu sarta ngidinan Anjeun pikeun simplify persiapan kode pikeun deployment.

Saatos publikasi buku, pendekatan ieu mimiti mangtaun popularitas sareng dina ngan sababaraha taun janten ampir katampi sacara universal. Numutkeun kana survey, dilakukeun diantara leuwih ti 600 pamekar jeung manajer IT di 2014, 97% tina manajer teknis na 84% tina programer éta akrab jeung Continuous Delivery.

Ayeuna pendekatan ieu tetep salah sahiji nu pang populerna. Numutkeun kana ulikan 2018 ngalibetkeun komunitas IT DevOps sareng Komunitas Jenkins, éta ngagunakeun satengah tina leuwih ti sarébu responden surveyed.

Kumaha Pangiriman Kontinyu dianggo?

Dasar CD nyaeta kesiapan kode pikeun deployment. Pikeun ngarengsekeun tugas ieu, automation prosés nyiapkeun parangkat lunak pikeun dileupaskeun dianggo. Éta kedah janten standar dina lingkungan pangembangan anu béda, anu bakal ngabantosan gancang mendakan titik lemah sareng ngaoptimalkeunana. Contona, nyepetkeun tés.

Conto prosés Pangiriman Kontinyu sapertos kieu:

Pitulung: naon Continuous Delivery

Upami pendekatan Integrasi Kontinyu tanggung jawab pikeun ngajadikeun otomatis dua tahapan anu munggaran, maka Pangiriman Kontinyu tanggung jawab pikeun dua tahapan salajengna. Stabilitas prosés dipastikeun, antara séjén, ku sistem manajemén konfigurasi. Aranjeunna ngawas parobahan infrastruktur, basis data sareng kagumantungan. Panyebaran sorangan tiasa otomatis atanapi dilakukeun sacara manual.

Sarat di handap ieu ditumpukeun dina prosés:

  • Kasadiaan informasi ngeunaan kesiapan pikeun asup ka lingkungan produksi jeung kesiapan pikeun release saharita (alat CD nguji kode jeung ngamungkinkeun pikeun evaluate pangaruh parobahan release).
  • Gemblengna tanggung jawab pikeun produk ahir. Tim produk - manajer, pamekar, panguji - pikir ngeunaan hasilna, sareng henteu ngan ukur ngeunaan daérah tanggung jawabna (hasilna mangrupikeun pelepasan anu tiasa dianggo pikeun pangguna produk).

Dina CD biasana dipaké review kode, sarta pikeun ngumpulkeun pendapat customer - prinsipna peluncuran poék. Fitur anyar mimiti dileupaskeun ka bagéan leutik pangguna - pangalaman berinteraksi sareng produk ngabantosan mendakan kakurangan sareng bug anu henteu diperhatoskeun nalika uji internal.

Naon mangpaatna

Pangiriman Kontinyu ngabantosan nyederhanakeun panyebaran kode, anu gaduh dampak anu positif kana produktivitas sareng ngirangan kamungkinan kaduruk karyawan. Pamustunganana, ieu ngirangan biaya pangwangunan sadayana. Contona, CD mantuan salah sahiji tim HP pikeun ngirangan waragad sapertos ku 40%.

Salaku tambahan, nurutkeun ulikan 2016 (halaman 28 surat penting) - perusahaan anu parantos ngalaksanakeun CD ngabéréskeun masalah kaamanan inpormasi 50% langkung gancang tibatan jalma anu henteu nganggo pendekatan. Pikeun extent sababaraha, bédana ieu bisa dipedar ku kinerja parabot automation prosés.

tambah sejen nyaeta akselerasi release. Pangiriman kontinyu di studio pangembangan Finlandia ditulungan ningkatkeun laju assembly kode ku 25%.

Poténsi Kasulitan

Masalah kahiji sareng utama nyaéta kabutuhan ngawangun deui prosés anu akrab. Pikeun nunjukkeun mangpaat pendekatan anyar, éta patut ngalih ka CD sacara bertahap, henteu dimimitian ku aplikasi anu paling padat karya.

Masalah poténsi kadua nyaéta jumlah badag cabang kode. Konsékuansi tina "cabang" sering konflik sarta leungitna salajengna tina jumlah badag waktu. Solusi anu mungkin - pendekatan euweuh dahan.

Khususna, di sababaraha perusahaan kasusah utama timbul dina tés - peryogi waktos teuing. Hasil tés sering kedah dianalisis sacara manual, tapi solusi anu mungkin nyaéta pikeun parallelize tés dina tahap awal palaksanaan CD.

Anjeun ogé kedah ngalatih karyawan pikeun damel sareng alat énggal - program pendidikan awal bakal ngahémat usaha sareng waktos pamekar.

Pitulung: naon Continuous Delivery
/flickr/ h.ger1969 / CC ku-SA

instrumen

Ieu sababaraha alat anu kabuka pikeun Pangiriman Kontinyu:

  • GoCD - server pikeun pangiriman kontinyu dina Java jeung JRuby on rel. Ngidinan anjeun ngadalikeun sakabéh prosés pangiriman aplikasi: build-test-release. Alatna disebarkeun dina lisénsi Apache 2.0. Anjeun tiasa mendakanana dina halaman wéb resmi pituduh setelan.
  • Capistrano - kerangka pikeun nyiptakeun skrip anu ngajadikeun otomatis panyebaran aplikasi dina Ruby, Java atanapi PHP. Capistrano tiasa ngaéksekusi paréntah dina mesin jauh ku cara ngahubungkeun éta via SSH. Gawéna sareng alat integrasi sareng pangiriman anu sanés, sapertos server Integrity CI.
  • Gradle mangrupakeun alat multi-platform anu ngajadikeun otomatis sakabéh siklus ngembangkeun aplikasi. Gradle jalan kalawan Java, Python, C / C ++, Scala, jsb Aya integrasi jeung Eclipse, IntelliJ na Jenkins.
  • Drone - Platform CD dina basa Go. Drone tiasa dipasang di tempat atanapi di awan. Alatna diwangun dina luhureun wadah sareng nganggo file YAML pikeun ngaturana.
  • tukang spinnaker - platform pikeun pangiriman kode kontinyu dina sistem multi-awan. Dimekarkeun ku Netflix, insinyur Google maénkeun peran badag dina ngembangkeun alat. parentah instalasi manggihan eta dina ramatloka resmi.

Naon anu kedah dibaca dina blog perusahaan kami:

sumber: www.habr.com

Tambahkeun komentar