Kömək: Davamlı Çatdırılma nədir

Əvvəllər biz deyə danışdı Davamlı İnteqrasiya (CI) haqqında. Davamlı Çatdırılma ilə davam edək. Bu proqram təminatının inkişaf etdirilməsi üsulları toplusudur. Bu, kodunuzun yerləşdirməyə hazır olmasını təmin etməyə kömək edir.

Kömək: Davamlı Çatdırılma nədir
/Pixabay/ mavibudgie / PL

Hekayə

Davamlı çatdırılma ifadəsi yenidən görünə bilər çevik manifest 2001-ci ildən əsas prinsiplər siyahısının əvvəlində: “Prioritet müasir proqram təminatının fasiləsiz çatdırılması yolu ilə müştəri problemlərinin həllidir”.

2010-cu ildə Jez Humble və David Farley sərbəst buraxıldı kitab Davamlı Çatdırılma ilə. Müəlliflərin fikrincə, CD yanaşmanı tamamlayır Davamlı inteqrasiya və yerləşdirmə üçün kodun hazırlanmasını sadələşdirməyə imkan verir.

Kitabın nəşrindən sonra yanaşma populyarlıq qazanmağa başladı və cəmi bir neçə ildən sonra demək olar ki, hamı tərəfindən qəbul edildi. görə sorğu, 600-cü ildə 2014-dən çox tərtibatçı və İT menecerləri arasında keçirilmiş, texniki menecerlərin 97%-i və proqramçıların 84%-i Davamlı Çatdırılma ilə tanış idi.

İndi bu yanaşma ən populyarlardan biri olaraq qalır. 2018-ci ildə İT icması DevOps və Jenkins Community-nin iştirak etdiyi araşdırmaya görə, istifadə edir mindən çox respondentin yarısı sorğuda iştirak edib.

Davamlı Çatdırılma necə işləyir?

CD-nin əsası kodun yerləşdirməyə hazır olmasıdır. Bu vəzifəni yerinə yetirmək üçün proqram təminatının buraxılışa hazırlanması prosesinin avtomatlaşdırılmasından istifadə olunur. Müxtəlif inkişaf mühitlərində standart olmalıdır ki, bu da zəif nöqtələri tez tapmağa və onları optimallaşdırmağa kömək edəcək. Məsələn, testi sürətləndirin.

Davamlı Çatdırılma prosesinin nümunəsi belə görünür:

Kömək: Davamlı Çatdırılma nədir

Davamlı İnteqrasiya yanaşması ilk iki mərhələnin avtomatlaşdırılmasına cavabdehdirsə, Davamlı Çatdırılma növbəti iki mərhələ üçün cavabdehdir. Prosesin sabitliyi digər şeylərlə yanaşı sistemlər tərəfindən təmin edilir konfiqurasiyanın idarə edilməsi. Onlar infrastruktur, verilənlər bazası və asılılıqlardakı dəyişiklikləri izləyirlər. Yerləşdirmənin özü avtomatlaşdırıla və ya əl ilə edilə bilər.

Prosesə aşağıdakı tələblər qoyulur:

  • İstehsal mühitinə daxil olmağa hazır olmaq və dərhal buraxılmağa hazır olmaq haqqında məlumatın mövcudluğu (CD alətləri kodu sınaqdan keçirir və buraxılışda dəyişikliklərin təsirini qiymətləndirməyə imkan verir).
  • Son məhsul üçün ümumi məsuliyyət. Məhsul komandası - menecerlər, tərtibatçılar, sınaqçılar - yalnız onların məsuliyyət sahəsi haqqında deyil, nəticə haqqında düşünürlər (nəticə məhsulun istifadəçiləri üçün mövcud olan işçi buraxılışdır).

CD-lərdə adətən istifadə olunur kodu nəzərdən keçirmək, və müştəri fikirlərini toplamaq üçün - prinsip qaranlıq buraxılış. Yeni funksiya əvvəlcə istifadəçilərin kiçik bir seqmentinə təqdim olunur - onların məhsulla qarşılıqlı əlaqə təcrübəsi daxili sınaq zamanı qeyd olunmayan çatışmazlıqları və səhvləri tapmağa kömək edir.

Nə faydası var

Davamlı Çatdırılma məhsuldarlığa müsbət təsir göstərən və işçilərin tükənmə ehtimalını azaldan kodun yerləşdirilməsini sadələşdirməyə kömək edir. Nəhayət, bu, ümumi inkişaf xərclərini azaldır. Məsələn, CD HP komandalarından birinə kömək etdi azaltmaq belə xərclər 40% təşkil edir.

Bundan əlavə, 2016-cı il araşdırmasına görə (səhifə 28 sənəd) - CD tətbiq etmiş şirkətlər informasiya təhlükəsizliyi problemlərini bu yanaşmadan istifadə etməyənlərə nisbətən 50% daha tez həll edirlər. Müəyyən dərəcədə bu fərq proseslərin avtomatlaşdırılması vasitələrinin fəaliyyəti ilə izah oluna bilər.

Başqa bir artı, buraxılışların sürətləndirilməsidir. Finlandiya inkişaf studiyasında davamlı çatdırılma kömək etdi kodun yığılma sürətini 25% artırın.

Potensial Çətinliklər

Birinci və əsas problem tanış proseslərin yenidən qurulması ehtiyacıdır. Yeni yanaşmanın üstünlüklərini göstərmək üçün ən çox əmək tələb edən tətbiqlərdən başlayaraq tədricən CD-yə keçməyə dəyər.

İkinci potensial problem kod filiallarının çoxluğudur. "Budaqlanmanın" nəticəsi tez-tez münaqişələr və daha çox vaxt itkisidir. Mümkün həll - yanaşma filialları yoxdur.

Xüsusilə, bəzi şirkətlərdə əsas çətinliklər sınaqla bağlı yaranır - bu, çox vaxt aparır. Test nəticələri tez-tez əl ilə təhlil edilməlidir, lakin mümkün həll CD tətbiqinin ilkin mərhələlərində testləri paralelləşdirmək ola bilər.

Siz həmçinin işçiləri yeni alətlərlə işləmək üçün öyrətməlisiniz - ilkin təhsil proqramı tərtibatçıların səyinə və vaxtına qənaət edəcəkdir.

Kömək: Davamlı Çatdırılma nədir
/flickr/ h.ger1969 / CC BY-SA

Tools

Davamlı Çatdırılma üçün bir neçə açıq vasitə bunlardır:

  • GoCD — Java və JRuby on Rails-də davamlı çatdırılma üçün server. Sizə bütün proqramların çatdırılması prosesini idarə etməyə imkan verir: qurun-test-buraxın. Alət Apache 2.0 lisenziyası altında paylanır. Rəsmi internet saytında tapa bilərsiniz quraşdırma təlimatı.
  • Kapistrano — Ruby, Java və ya PHP-də tətbiqlərin yerləşdirilməsini avtomatlaşdıran skriptlərin yaradılması üçün çərçivə. Capistrano uzaq maşına SSH vasitəsilə qoşularaq əmrləri yerinə yetirə bilir. Integrity CI serveri kimi digər davamlı inteqrasiya və çatdırılma vasitələri ilə işləyir.
  • Gradle bütün proqramların inkişaf dövrünü avtomatlaşdıran çox platformalı vasitədir. Gradle Java, Python, C/C++, Scala və s. ilə işləyir. Eclipse, IntelliJ və Jenkins ilə inteqrasiya mövcuddur.
  • vızıltı - Go dilində CD platforması. Drone həm yerli, həm də buludda yerləşdirilə bilər. Alət konteynerlərin üstündə qurulub və onları idarə etmək üçün YAML fayllarından istifadə edir.
  • Spinnaker — çoxlu bulud sistemlərində fasiləsiz kodun çatdırılması üçün platforma. Netflix tərəfindən hazırlanmış Google mühəndisləri alətin hazırlanmasında böyük rol oynadılar. Quraşdırma təlimatları rəsmi saytında tapın.

Korporativ bloqumuzda nə oxumaq lazımdır:

Mənbə: www.habr.com

Добавить комментарий