CI/CD-yə keçərkən ən çox yayılmış yeddi səhv

CI/CD-yə keçərkən ən çox yayılmış yeddi səhv
Əgər şirkətiniz sadəcə DevOps və ya CI/CD alətlərini təqdim edirsə, onları təkrarlamamaq və başqasının rakesini addımlamamaq üçün ən çox yayılmış səhvlərlə tanış olmaq sizin üçün faydalı ola bilər. 

Komanda Mail.ru Bulud Həlləri məqaləni tərcümə edib Əlavələrlə Jasmine Chokshi tərəfindən CI/CD-yə keçərkən bu ümumi tələlərdən qaçın.

Mədəniyyət və prosesləri dəyişməyə hazır olmamaq

Əgər siklik diaqrama baxsanız DevOps, aydındır ki, DevOps təcrübələrində sınaq davamlı fəaliyyətdir, hər bir yerləşdirmənin əsas hissəsidir.

CI/CD-yə keçərkən ən çox yayılmış yeddi səhv
DevOps Infinite Cycle Chart

İnkişaf və çatdırılma zamanı sınaq və keyfiyyət təminatı tərtibatçıların gördüyü hər şeyin vacib hissəsidir. Bu, hər bir tapşırığa testi daxil etmək üçün zehniyyət dəyişikliyini tələb edir.

Test hər bir komanda üzvünün gündəlik işinin bir hissəsinə çevrilir. Daimi testlərə keçid asan deyil, buna hazır olmaq lazımdır.

Əlaqənin olmaması

DevOps effektivliyi daimi rəydən asılıdır. Əgər əməkdaşlıq və ünsiyyət üçün yer yoxdursa, davamlı təkmilləşmə mümkün deyil.

Retrospektiv görüşlər təşkil etməyən şirkətlər CI/CD-də davamlı əks əlaqə mədəniyyətini tətbiq etməkdə çətinlik çəkirlər. Hər təkrarlamanın sonunda retrospektiv görüşlər keçirilir, bu görüşlərdə komanda üzvləri nəyin yaxşı, nəyin pis getdiyini müzakirə edirlər. Retrospektiv görüşlər Scrum/Agile-in əsasını təşkil edir, lakin onlar DevOps üçün də lazımdır. 

Çünki retrospektiv görüşlər rəy və fikir mübadiləsi vərdişini aşılayır. Başlanğıcda ən vacib məqamlardan biri bütün komanda üçün başa düşülən və tanış olmaq üçün təkrarlanan retro görüşlər təşkil etməkdir.

Proqram təminatının keyfiyyətinə gəldikdə, bütün komanda üzvləri onun saxlanmasına cavabdehdirlər. Məsələn, tərtibatçılar vahid testləri yaza və həmçinin sınaqdan keçirilə bilən kod yaza bilər ki, bu da riski başlanğıcdan azaltmağa kömək edir.

Sınaq haqqında düşüncədəki dəyişikliyi əks etdirməyin sadə bir yolu testçiləri QA deyil, proqram təminatı testçisi və ya keyfiyyət mühəndisi çağırmaqdır. Bu dəyişiklik çox sadə və ya hətta axmaq görünə bilər. Amma kimisə “proqram təminatının keyfiyyətini təmin edən şəxs” adlandırmaq məhsulun keyfiyyətinə kimin cavabdeh olduğu barədə yanlış təsəvvür yaradır. Agile, CI/CD və DevOps təcrübələrində hər kəs proqram təminatının keyfiyyətinə cavabdehdir.

Digər vacib məqam bütün komanda və onun hər bir üzvü, təşkilat və maraqlı tərəflər üçün keyfiyyətin nə demək olduğunu başa düşməkdir.

Mərhələnin tamamlanmasının səhv başa düşülməsi

Keyfiyyət davamlı və ümumi bir prosesdirsə, mərhələnin tamamlanması haqqında ümumi anlayış lazımdır. Bir mərhələnin nə vaxt bitdiyini necə bilirsiniz? Trello və ya digər Kanban lövhəsində bir addım tamamlandı kimi qeyd edildikdə nə baş verir?

Definition of Done (DoD) CD DevOps/CI kontekstində güclü vasitədir. Bu, komandanın nəyi və necə qurduğunun keyfiyyət standartlarını daha yaxşı başa düşməyə kömək edir.

İnkişaf qrupu "Bitti"nin nə demək olduğuna qərar verməlidir. Onlar oturub hər mərhələdə yerinə yetirilməli olan xüsusiyyətlərin siyahısını tərtib etməlidirlər ki, onlar tam hesab edilsin.

DoD prosesi daha şəffaf edir və bütün komanda üzvləri tərəfindən başa düşülərsə və qarşılıqlı razılığa gələrsə, CI/CD-nin həyata keçirilməsini asanlaşdırır.

Həqiqi, dəqiq müəyyən edilmiş məqsədlərin olmaması

Bu, ən çox sitat gətirilən məsləhətlərdən biridir, lakin təkrarlamağa dəyər. CI/CD və ya DevOps da daxil olmaqla hər hansı bir böyük işdə uğur qazanmaq üçün real hədəflər qoymalı və onlara qarşı performansı ölçməlisiniz. CI/CD ilə nə əldə etməyə çalışırsınız? Bu, daha keyfiyyətli və daha sürətli buraxılışlara imkan verirmi?

Qarşıya qoyulan istənilən məqsədlər yalnız şəffaf və real deyil, həm də şirkətin cari fəaliyyətinə uyğun olmalıdır. Məsələn, müştərilərinizə nə qədər tez-tez yeni yamaqlar və ya versiyalar lazımdır? İstifadəçilərə əlavə fayda olmadığı təqdirdə prosesləri həddən artıq yükləməyə və daha sürətli buraxmağa ehtiyac yoxdur.

Bundan əlavə, həmişə həm CD, həm də CI-ni tətbiq etmək lazım deyil. Məsələn, banklar və tibbi klinikalar kimi yüksək səviyyədə tənzimlənən şirkətlər yalnız CI ilə işləyə bilər.

CI DevOps tətbiq edən hər hansı bir şirkət üçün yaxşı başlanğıc nöqtəsi kimi xidmət edir. Tətbiq edildikdə, şirkətlərin proqram təminatına yanaşmaları əhəmiyyətli dərəcədə dəyişir. CI mənimsənildikdən sonra bütün prosesi təkmilləşdirmək, buraxılış sürətini artırmaq və digər dəyişikliklər barədə düşünə bilərsiniz.

Bir çox təşkilatlar üçün yalnız CI kifayətdir və CD yalnız dəyər əlavə edərsə həyata keçirilməlidir.

Müvafiq tablosunun və ölçülərin olmaması

Məqsədlərinizi təyin etdikdən sonra inkişaf qrupu KPI-ləri ölçmək üçün idarə paneli yarada bilər. İnkişaf etməzdən əvvəl izləniləcək parametrləri qiymətləndirməyə dəyər.

Fərqli hesabatlar və tətbiqlər müxtəlif komanda üzvləri üçün faydalıdır. Scrum Master daha çox status və çatma ilə maraqlanır. Yüksək rəhbərlik mütəxəssislərin tükənmə nisbəti ilə maraqlana bilər.

Bəzi komandalar hər şeyi düzgün edib-etmədiklərini və ya xətanın olub-olmadığını anlamaq üçün CI/CD-nin vəziyyətini qiymətləndirmək üçün qırmızı, sarı və yaşıl göstəriciləri olan idarə panellərindən də istifadə edirlər. Qırmızı o deməkdir ki, baş verənlərə diqqət yetirməlisən.

Bununla belə, tablolar standartlaşdırılmayıbsa, onlar yanıltıcı ola bilər. Hər kəsin hansı məlumatlara ehtiyacı olduğunu təhlil edin və sonra bunun nə demək olduğunun standart təsvirini yaradın. Maraqlı tərəflər üçün nəyin daha mənalı olduğunu öyrənin: qrafika, mətn və ya rəqəmlər.

Əl testləri yoxdur

Test avtomatlaşdırılması yaxşı CI/CD boru kəmərinin əsasını qoyur. Lakin bütün mərhələlərdə avtomatlaşdırılmış sınaq o demək deyil ki, siz əllə sınaq keçirməməlisiniz. 

Effektiv CI/CD boru kəməri qurmaq üçün sizə əl testləri də lazımdır. Testin həmişə insan təhlilini tələb edən bəzi aspektləri olacaq.

Əllə sınaqdan keçirmə səylərini boru kəmərinizə inteqrasiya etməyi düşünməyə dəyər. Bəzi test işlərinin əl ilə yoxlanılması başa çatdıqdan sonra siz yerləşdirmə mərhələsinə keçə bilərsiniz.

Testləri təkmilləşdirməyə çalışmayın

Effektiv CI/CD boru kəməri test idarəetməsi və ya inteqrasiya və davamlı monitorinq olsun, düzgün alətlərə çıxış tələb edir.

Güclü, keyfiyyət yönümlü bir mədəniyyət yaratmağı hədəfləyir sınaqların həyata keçirilməsi, yerləşdirmədən sonra müştərilərlə qarşılıqlı əlaqəni izləmək və təkmilləşdirmələri izləmək. 

Budur, asanlıqla həyata keçirə biləcəyiniz bəzi praktik məsləhətlər:

  1. Testlərinizin yazılması asan və kodu refaktor edərkən pozulmayacaq qədər çevik olduğundan əmin olun.
  2. İnkişaf qrupları sınaq prosesinə daxil edilməlidir - CI boru kəmərləri zamanı sınaqdan keçirilməsi vacib olan istifadəçi problemlərinin və sorğuların siyahısına baxın.
  3. Tam sınaq əhatəsinə malik olmaya bilərsiniz, lakin həmişə UX və müştəri təcrübəsi üçün vacib olan axınların sınaqdan keçirildiyinə əmin olun.

Sonuncu, lakin ən vacib məqam

CI/CD-yə keçid adətən aşağıdan yuxarıya doğru aparılır, lakin son nəticədə bu, liderliyin alışını, vaxtını və şirkətdən resurslarını tələb edən transformasiyadır. Axı, CI/CD bacarıqlar, proseslər, alətlər və mədəni yenidənqurma toplusudur; belə dəyişikliklər yalnız sistematik şəkildə həyata keçirilə bilər.

Mövzuda başqa nə oxumaq olar:

  1. Texniki borc layihələrinizi necə öldürür.
  2. DevOps-u necə təkmilləşdirmək olar.
  3. 2020-ci il üçün Doqquz Ən Yaxşı DevOps Trendləri.

Mənbə: www.habr.com

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