Junior
Kas ir nepārtraukta izvietošana?
sobes.tech AI
Atbilde no AI
Nepārtraukta izvietošana (Continuous Deployment) ir programmatūras piegādes stratēģija, kurā katra koda izmaiņa, kas ir izgājusi cauri visiem automatizētā CI/CD procesa posmiem (būvēšana, testēšana), tiek automātiski izvietota ražošanas vidē bez cilvēka iejaukšanās.
Galvenās atšķirības no Nepārtrauktās piegādes (Continuous Delivery):
- Nepārtraukta piegāde: Izmaiņas ir gatavas izvietošanai ražošanā, bet pats izvietošanas process prasa skaidru trigeri (parasti manuāli).
- Nepārtraukta izvietošana: Izmaiņas automātiski tiek izvietotas ražošanā pēc visu testu veiksmīgas pārbaudes.
Priekšrocības:
- Ātrāka funkcionalitātes izlaišana.
- Īsāks atsauksmes cikls.
- Riska samazināšana, bieži veicot mazākas izmaiņas.
- Ātra kļūdu labošana ražošanas vidē.
Nepieciešamie nosacījumi:
- Augsts automatizācijas līmenis testēšanā (vienības, integrācijas, pieņemšanas testi).
- Uzticama infrastruktūra un automatizēta izvietošana.
- Uzraudzības un brīdinājumu sistēma.
- Spēja ātri atgriezt izmaiņas.
Piemērs CI/CD procesa soļiem ar nepārtrauktu izvietošanu:
- Izstrādātājs komitē kodu VCS (Git).
- Tiek aktivizēta būve (Jenkins, GitLab CI, GitHub Actions).
- Tiek veikti automātiskie testi (vienības, integrācijas).
- Tiek izveidots artefakts (Docker attēls, pakotne).
- Artefakts pāriet testēšanas stadijā staging vidē.
- Veiksmīgi pārbaudot visus testus, artefakts automātiski tiek izvietots ražošanas vidē.
- Tiek veikta pēc-izvietošanas pārbaude (health checks, smoke tests).
- Ražošanas vide tiek uzraudzīta kļūdu un veiktspējas dēļ.