Azerbaijan, Georgia, Uzbekistan
XcitiumDemo sorğusu
MenyuBağla
Bütün materiallar

Tətbiq mühəndisliyi · Təhlükəsiz çatdırılma

CI/CD və policy as code ilə təhlükəsiz proqram çatdırılması

CI tez-tez inteqrasiya və avtomatik yoxlamanı, CD isə təsdiqlənmiş artefaktın mərhələlərə çatdırılmasını avtomatlaşdırır. Erkən təhlükəsizlik yoxlamalarını və versiyalanan siyasətləri konveyerin (pipeline) özünü qorumaqla birləşdirin.

İki nəfər ekrandakı kodu, API cavabını və proqramın buraxılış mərhələlərini nəzərdən keçirir

Ə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ış
CIBuild, 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ırlamaqTəsdiq və ya buraxılış qərarı
Davamlı yerləşdirmə (Continuous Deployment)Keçən dəyişiklikləri avtomatik buraxmaqAvtomatik 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.

  1. Commit və build

    Kodun yığıldığını və format/static qaydaların keçdiyini yoxlayın.

  2. Test və skan

    Funksional axınları, kodu, dependency-ləri, secret-ləri və IaC-ni yoxlayın.

  3. 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.