Yordam: Uzluksiz yetkazib berish nima

Ilgari, biz dedi Uzluksiz integratsiya (CI) haqida. Keling, Uzluksiz yetkazib berish bilan davom etaylik. Bu dasturiy ta'minotni ishlab chiqish usullari to'plami. Bu sizning kodingiz joylashtirishga tayyorligini ta'minlashga yordam beradi.

Yordam: Uzluksiz yetkazib berish nima
/Pixabay/ ko'k to'ng'iz / PL

История

Uzluksiz yetkazib berish iborasini yana ko'rish mumkin edi tezkor manifest 2001 yildan boshlab asosiy tamoyillar ro'yxatining boshida: "Ustuvor vazifa - zamonaviy dasturiy ta'minotni uzluksiz yetkazib berish orqali mijozlar muammolarini hal qilish".

2010 yilda Jez Humble va Devid Farli chiqdi kitob Uzluksiz yetkazib berish orqali. Mualliflarning fikriga ko'ra, CD yondashuvni to'ldiradi Har doim integratsiya va joylashtirish uchun kodni tayyorlashni soddalashtirishga imkon beradi.

Kitob nashr etilgandan so'ng, yondashuv mashhurlikka erisha boshladi va bir necha yil ichida u deyarli hamma tomonidan qabul qilindi. Ga binoan so'rov, 600-yilda 2014 dan ortiq ishlab chiquvchilar va IT-menejerlar oʻrtasida oʻtkazilgan boʻlib, texnik menejerlarning 97% va dasturchilarning 84% Continuous Delivery bilan tanish edi.

Endi bu yondashuv eng mashhurlaridan biri bo'lib qolmoqda. DevOps va Jenkins hamjamiyatining IT hamjamiyati ishtirokidagi 2018 yildagi tadqiqotiga ko'ra, ispolzet so‘rovda qatnashgan mingdan ortiq respondentning yarmi.

Uzluksiz yetkazib berish qanday ishlaydi?

CD asosi kodni joylashtirishga tayyorligidir. Ushbu vazifani bajarish uchun dasturiy ta'minotni chiqarishga tayyorlash jarayonini avtomatlashtirish qo'llaniladi. Bu turli xil rivojlanish muhitlarida standart bo'lishi kerak, bu zaif tomonlarni tezda topishga va ularni optimallashtirishga yordam beradi. Masalan, testni tezlashtiring.

Uzluksiz etkazib berish jarayoniga misol quyidagicha ko'rinadi:

Yordam: Uzluksiz yetkazib berish nima

Agar uzluksiz integratsiya yondashuvi dastlabki ikki bosqichni avtomatlashtirish uchun javobgar bo‘lsa, keyingi ikki bosqich uchun Uzluksiz yetkazib berish javobgar bo‘ladi. Jarayonning barqarorligi, boshqa narsalar qatori, tizimlar tomonidan ta'minlanadi konfiguratsiyani boshqarish. Ular infratuzilma, ma'lumotlar bazalari va bog'liqliklardagi o'zgarishlarni kuzatadilar. Joylashtirishning o'zi avtomatlashtirilishi yoki qo'lda bajarilishi mumkin.

Jarayonga quyidagi talablar qo'yiladi:

  • Ishlab chiqarish muhitiga kirishga tayyorlik va zudlik bilan chiqarishga tayyorlik to'g'risidagi ma'lumotlarning mavjudligi (CD vositalari kodni sinab ko'radi va relizdagi o'zgarishlarning ta'sirini baholashga imkon beradi).
  • Yakuniy mahsulot uchun umumiy javobgarlik. Mahsulot jamoasi - menejerlar, ishlab chiquvchilar, sinovchilar - nafaqat ularning mas'uliyat sohasi haqida emas, balki natija haqida o'ylashadi (natija mahsulot foydalanuvchilari uchun mavjud bo'lgan ishchi relizdir).

CD larda odatda ishlatiladi kodni ko'rib chiqish, va mijozlar fikrlarini to'plash uchun - tamoyil qorong'u ishga tushirish. Yangi funksiya birinchi bo‘lib foydalanuvchilarning kichik segmentiga taqdim etiladi – ularning mahsulot bilan o‘zaro aloqada bo‘lish tajribasi ichki test davomida sezilmagan kamchiliklar va xatolarni topishga yordam beradi.

Nima foydasi bor

Uzluksiz yetkazib berish kodni joylashtirishni soddalashtirishga yordam beradi, bu samaradorlikka ijobiy ta'sir ko'rsatadi va xodimlarning charchash ehtimolini kamaytiradi. Oxir oqibat, bu umumiy rivojlanish xarajatlarini kamaytiradi. Misol uchun, CD HP jamoalaridan biriga yordam berdi kamaytirish bunday xarajatlar 40% ga oshadi.

Bundan tashqari, 2016 yilgi tadqiqotga ko'ra (28-bet hujjat) - CD-ni joriy qilgan kompaniyalar axborot xavfsizligi muammolarini ushbu yondashuvdan foydalanmaydiganlarga qaraganda 50% tezroq hal qilishadi. Bu farqni ma'lum darajada jarayonlarni avtomatlashtirish vositalarining ishlashi bilan izohlash mumkin.

Yana bir ortiqcha - relizlarning tezlashishi. Finlyandiya taraqqiyot studiyasida uzluksiz yetkazib berish yordam berdi kodni yig'ish tezligini 25% ga oshirish.

Potentsial qiyinchiliklar

Birinchi va asosiy muammo - tanish jarayonlarni qayta tiklash zarurati. Yangi yondashuvning afzalliklarini ko'rsatish uchun, eng ko'p mehnat talab qiladigan ilovalardan emas, balki asta-sekin CD-ga o'tishga arziydi.

Ikkinchi potentsial muammo - bu kod tarmoqlarining ko'pligi. "Tarqalanish" ning oqibati tez-tez to'qnashuvlar va ko'p vaqtni yo'qotishdir. Mumkin bo'lgan yechim - yondashuv filiallari yo'q.

Xususan, ba'zi kompaniyalarda asosiy qiyinchiliklar sinov bilan bog'liq - bu juda ko'p vaqtni oladi. Sinov natijalari ko'pincha qo'lda tahlil qilinishi kerak, ammo mumkin bo'lgan yechim CDni joriy etishning dastlabki bosqichlarida testlarni parallellashtirish bo'lishi mumkin.

Shuningdek, xodimlarni yangi vositalar bilan ishlashga o'rgatish kerak - dastlabki ta'lim dasturi ishlab chiquvchilarning kuch va vaqtini tejaydi.

Yordam: Uzluksiz yetkazib berish nima
/Flickr/ h.ger1969 / CC BY-SA

asboblar

Doimiy yetkazib berish uchun bir nechta ochiq vositalar:

  • GoCD — Java va JRuby on Rails tillarida uzluksiz yetkazib berish serveri. Ilovani yetkazib berishning butun jarayonini boshqarish imkonini beradi: qurish-test-chiqarish. Asbob Apache 2.0 litsenziyasi ostida tarqatiladi. Siz uni rasmiy veb-saytda topishingiz mumkin sozlash bo'yicha qo'llanma.
  • Kapistrano — Ruby, Java yoki PHP da ilovalarni joylashtirishni avtomatlashtiradigan skriptlarni yaratish uchun asos. Capistrano SSH orqali unga ulanish orqali masofaviy mashinada buyruqlarni bajarishga qodir. Integrity CI serveri kabi boshqa uzluksiz integratsiya va yetkazib berish vositalari bilan ishlaydi.
  • Gradle ko'p platformali vosita bo'lib, barcha ilovalarni ishlab chiqish siklini avtomatlashtiradi. Gradle Java, Python, C/C++, Scala va boshqalar bilan ishlaydi. Eclipse, IntelliJ va Jenkins bilan integratsiya mavjud.
  • Drone - Go tilida CD platformasi. Droneni mahalliy yoki bulutda joylashtirish mumkin. Asbob konteynerlar ustiga qurilgan va ularni boshqarish uchun YAML fayllaridan foydalanadi.
  • spinnaker — ko‘p bulutli tizimlarda uzluksiz kod yetkazib berish platformasi. Netflix tomonidan ishlab chiqilgan Google muhandislari ushbu vositani ishlab chiqishda katta rol o'ynagan. O'rnatish bo'yicha ko'rsatmalar rasmiy veb-saytida toping.

Bizning korporativ blogimizda nimani o'qish kerak:

Manba: www.habr.com

a Izoh qo'shish