Əsas fikir
Hər dəyişiklik üçün sürətli və izah edilə bilən yoxlama yaradın, buraxılış qaydalarını kodda saxlayın və pipeline etimadnamələrini işlək mühitin aktivləri kimi qoruyun.
CI, davamlı çatdırılma və davamlı yerləşdirmə ayrı mərhələlərdir
Davamlı inteqrasiya (CI) dəyişiklikləri paylaşılan repozitoriyaya tez-tez birləşdirir və hər commit üçün yığım və testləri başladır. Davamlı çatdırılma yoxlanmış artefaktı buraxılışöncəsi sınaq mühitinə (staging) və ya işlək mühitə buraxılışa hazır saxlayır; davamlı yerləşdirmə isə müəyyən edilən avtomatik yoxlamalardan keçən dəyişiklikləri avtomatik buraxa bilər. Komandanızın “CD” ilə hansını nəzərdə tutduğunu sənədləşdirin. Hər mərhələdə eyni yoxlanmış artefaktı irəli aparmaq təkrar yığım fərqlərini azaldır.
| Mərhələ | Əsas iş | Çıxış |
|---|---|---|
| CI | Build, unit/inteqrasiya və təhlükəsizlik yoxlaması | Yoxlanmış artifact və sürətli rəy |
| Davamlı çatdırılma (Continuous Delivery) | Artifact-i mühitlərə buraxılışa hazırlamaq | Təsdiq və ya buraxılış qərarı |
| Davamlı yerləşdirmə (Continuous Deployment) | Keçən dəyişiklikləri avtomatik buraxmaq | Avtomatik production buraxılışı |
Təhlükəsizliyi erkən yoxlamalara daxil edin
Kiçik commit-lər yığım, test və nəzərdən keçirməni sürətləndirir. Konveyerdə modul və inteqrasiya testlərinə SAST, asılılıq yoxlamaları (SCA), sirr axtarışı və IaC və konteyner konfiqurasiyasının skanını uyğun mərhələdə əlavə edin. İcazələr, sxemlər, həssas əməliyyatlar və səhv halları üçün avtomatik test yazın. DAST və penetrasiya testini işləyən mühitlərdə ayrıca planlaşdırın; commit skanı işləmə zamanı davranışı və real iş axınını tam əhatə etmir. Aşkarlanan problemlər düzəliş üçün yararlı izah və kod konteksti ilə tərtibatçılara çatdırılmalıdır.
Commit və build
Kodun yığıldığını və format/static qaydaların keçdiyini yoxlayın.
Test və skan
Funksional axınları, kodu, dependency-ləri, secret-ləri və IaC-ni yoxlayın.
Artifact və buraxılış
Artifact-i imzalayın, mənşə və test nəticəsini bağlayın, sonra mərhələlərlə irəli aparın.
Policy as code qaydaları təkrarlana bilən edir
Siyasəti yoxlanılan mətn fayllarında müəyyən edin, version control-da dəyişiklik tarixçəsini saxlayın və pull request-də nəzərdən keçirin. Qaydalara məsələn minimum identity icazəsi, açıq storage-ın qadağanı, icazəli base image, məcburi test sübutu və production-a keçid şərtləri daxil ola bilər. Policy engine qaydanı CI-da test edib uyğun olmayan dəyişiklikdə merge və ya deploy-u dayandıra bilər. İstisnaya səbəb, əhatə, sahib və bitmə tarixi yazın; policy testlərini özləri də dəyişikliklər üzrə yoxlayın.
Kod və dependency
Qaydalar lisenziya, zəiflik və secret tapıntılarını yoxlayır.
Infrastructure as Code
Şəbəkə, identity, storage və şifrələmə sazlamalarını deploy-dan qabaq təsdiqləyir.
Buraxılış qaydası
Kim təsdiq edir, hansı sübut lazımdır və istisna nə vaxt bitir suallarını cavablandırır.
Konveyeri işlək sistem kimi qoruyun
CI runner-ları mənbə kodunu və paketləri icra edir, bəzən isə istehsal mühitinin giriş məlumatlarına çıxışı olur; komprometasiya build artifact-ini zəhərləyə və istehsala yol aça bilər. Hər işə ayrıca minimal identity verin, qısamüddətli credential istifadə edin, secret-ləri maskalayın və rotasiyanı planlaşdırın. Etibarsız pull request-ləri privileged runner və secret-lərdən ayırın; build mühitlərini izolyasiya edin, üçüncü tərəf action və plugin-lərin versiyasını sabitləyib provenance-ni yoxlayın. Artifact-i imzalayın, deploy-da imza və mənbəni yoxlayın. Pipeline dəyişiklikləri, credential istifadəsi və qeyri-adi runner davranışını audit edin.
Rəyi və buraxılışın vəziyyətini izləyin
Build müddəti, flaky test, uğursuz merge, təhlükəsizlik tapıntısı və düzəliş vaxtını izləyin. Səs-küylü yoxlamalar komandanın etibarını azaldır; onları silmək əvəzinə nəticəni təhlil edin və qaydanı düzəldin. Yeni buraxılışın mümkün təsirini məhdudlaşdırmaq üçün onu mərhələlərlə tətbiq edin. Buraxılışdan sonra tətbiq xətalarını, gecikməni və istifadəçi axınlarını izləyin; ciddi geriləmə baş verərsə, əvvəlki artifact-ə qayıtmağa hazır olun. Dəyişikliklər kiçik və tez-tez olduqda nasazlığın səbəbini tapmaq və düzəltməni geri qaytarmaq asanlaşır.
