Junior
Kas yra nuolatinis diegimas (continuous deployment)?
sobes.tech AI
Atsakymas iš AI
Nuolatinė integracija ir pristatymas (CI/CD) — tai programinės įrangos kūrimo metodas, kai kiekvienas automatizuotas testavimo procesas praeina ir patvirtintas pakeitimas automatiškai diegiamas gamybos aplinkoje. Pagrindinis skirtumas nuo Continuous Delivery — rankinio patvirtinimo žingsnio nebuvimas.
Pagrindiniai etapai:
- Commit: Kūrėjas įveda pakeitimus į versijų kontrolės sistemą (pvz., Git).
- Build: Automatiškai sukuriamas artefaktas (vaizdas, paketas ir kt.).
- Test: Vykdomi automatiniai testai (vienetų, integracijos, funkcionalumo, apkrovos ir kt.).
- Deploy: Jei visi testai sėkmingai praėjo, artefaktas automatiškai diegiamas darbo aplinkoje.
Pagrindinės sudedamosios dalys:
- Aukšto lygio automatizacija.
- Patikima infrastruktūra.
- Naudojamos Continuous Integration (CI) ir Continuous Delivery (CD) praktikos.
- Stebėsena ir logavimas, siekiant greitai aptikti problemas.
- Greitas atstatymas.
# Pavyzdys dalies CI/CD pipeline
stages:
- build
- test
- deploy
build_job:
stage: build
script:
- echo "Programos kūrimas..."
- # Kūrimo komandos
test_job:
stage: test
script:
- echo "Testų vykdymas..."
- # Testų komandos
only:
- main # Tik pagrindinė šaka
deploy_job:
stage: deploy
script:
- echo "Diegimas į gamybą..."
- # Diegimo komandos
when: on_success # Diegti tik jei ankstesni etapai sėkmingi
only:
- main
| Privalumai | Trūkumai |
|---|---|
| Greitas naujų funkcijų/taisymų paleidimas | Aukšti reikalavimai testų kokybei |
| TTM (Time To Market) sumažėjimas | Potencialus nereikalingų pakeitimų diegimo rizika |
| Sumažina riziką kiekvieno diegimo metu | Sudėtinga diegti be brandžių CI/CD procesų |
| Greita grįžtamoji informacija iš vartotojų | Reikalingas patikimas stebėjimas ir atkūrimas |