Release pipeline — source koddagi tasdiqlangan o‘zgarishni sinovdan o‘tgan, versiyalangan va tarqatishga tayyor artefaktga aylantiradigan avtomatlashtirilgan bosqichlar ketma-ketligidir. U compile, test, security tekshiruvi, paketlash, imzolash, publish va deploy kabi ishlarni bir boshqariladigan oqimga birlashtiradi. Pipeline maqsadi faqat tez release emas, bir xil jarayonni takrorlash va har artefakt kelib chiqishini isbotlashdir.
Kirish va trigger
Pipeline main branchga merge, release tag, jadval yoki qo‘lda tasdiqlangan hodisa bilan boshlanishi mumkin. Trigger qaysi source commit va konfiguratsiya releasega kirishini immutable identifikator bilan qayd etadi. Branch nomi yoki latest kabi mutable ko‘rsatkich keyingi bosqichlarda qayta yechilmaydi.
Release versiyasi siyosat bo‘yicha hosil qilinadi va avval nashr qilingan versiya qayta ishlatilmaydi. Changelog, migration note va license ma’lumoti source bilan review qilinadi. Pipeline inputida secret bo‘lmaydi; signing va registry credential maxsus secret store orqali qisqa muddatga beriladi.
Build va tekshiruv
Toza, izolyatsiyalangan runner dependencylarni lock file va tekshirilgan registrydan oladi. Build toolchain versiyasi container image yoki hermetic environment bilan mahkamlanadi. Natija unit, integration, compatibility va kerak bo‘lsa performance testlardan o‘tadi. Lint yoki scanner signali riskga qarab bloklovchi policyga bog‘lanadi.
Software Composition Analysis dependency vulnerability va litsenziyani, static analysis koddagi ehtimoliy nuqsonni tekshiradi. Secret scanner tasodifan commit qilingan credentialni qidiradi. Hech bir skaner xatosiz emas; suppression aniq sabab, egasi va tugash muddati bilan versiyalanadi.
Artefakt va provenance
Build once, promote many tamoyilida test, staging va production uchun qayta build qilinmaydi. Bitta digestli artefakt muhitlar orasida ko‘tariladi, faqat tashqi konfiguratsiya farq qiladi. Qayta build bir source’dan bo‘lsa ham dependency yoki toolchain drift sabab boshqa bayt hosil qilishi mumkin.
Pipeline SBOM, test natijasi, source commit va builder identityni artefaktga bog‘laydi. Provenance attestatsiyasi qaysi input va jarayon ishlatilganini ko‘rsatadi. Code signing iste’molchiga artefakt tasdiqlangan kalit egasi tomonidan chiqarilganini va keyin o‘zgarmaganini tekshirish imkonini beradi.
Publish va rollout
Artefakt registryga immutable versiya va digest bilan push qilinadi. Stable alias faqat asosiy obyekt muvaffaqiyatli yozilgach yangilanadi. Publishning yarim bajarilishi metadata mavjud, binary yo‘q kabi holat qoldirmasligi uchun atomik yoki idempotent operatsiya ishlatiladi.
Deploy canary, blue-green yoki bosqichli rollout orqali kichik ta’sir doirasidan boshlanadi. Health, error rate, latency va biznes invariantlari kuzatiladi. Automated rollback faqat metrika ishonchli va eski versiya yangi schema bilan ishlay olganda xavfsiz. Database migration release strategiyasiga alohida muvofiqlashtiriladi.
Vakolat va audit
Build runner productionga doimiy administrator credentialiga ega bo‘lmaydi. Workload identity va qisqa muddatli token repository, environment va action bilan cheklanadi. Signing kaliti HSM yoki boshqariladigan signing service ichida qoladi. Ikki kishilik approval yuqori xavfli muhitda qo‘llanadi, lekin barcha qadamni qo‘lda qilishning o‘rnini bosmaydi.
Har approval, artefakt digest, policy natijasi va deploy hodisasi audit logga yoziladi. Pipeline konfiguratsiyasining o‘zi code review va branch protection bilan himoyalanadi, chunki uni o‘zgartirish mahsulot kodini o‘zgartirish kabi kuchli ta’sirga ega.
Bog‘liq tushunchalar
Continuous delivery, Build pipeline, Software provenance, SBOM, Code signing, Canary deployment, Artifact registry