Junior
Kas ir nepārtraukta izvietošana (continuous deployment)?
sobes.tech AI
Atbilde no AI
Nepārtraukta integrācija un piegāde (CI/CD) — tas ir programmatūras izstrādes pieeja, kurā katrs automatizētais testēšanas process ir pārbaudīts un apstiprināts, un automātiski izvietots ražošanas vidē. Galvenā atšķirība no Continuous Delivery — rokas apstiprinājuma soļa neesamība.
Galvenie posmi:
- Commit: Izstrādātājs veic izmaiņas versiju kontroles sistēmā (piemēram, Git).
- Build: Automātiski tiek izveidots artefakts (attēls, pakotne utt.).
- Test: Veic automātiskus testus (vienību, integrācijas, funkcionālos, slodzes u.c.).
- Deploy: Ja visi testi ir veiksmīgi, artefakts automātiski tiek izvietots darba vidē.
Galvenās sastāvdaļas:
- Augsta automatizācijas līmenis.
- Uzticama infrastruktūra.
- Izmanto Continuous Integration (CI) un Continuous Delivery (CD) prakses.
- Uzraudzība un žurnālu reģistrēšana, lai ātri identificētu problēmas.
- Ātra atgriezeniskā saite.
# Piemērs daļējā CI/CD pipeline
stages:
- build
- test
- deploy
build_job:
stage: build
script:
- echo "Programmas būvniecība..."
- # Būvēšanas komandas
test_job:
stage: test
script:
- echo "Testu veikšana..."
- # Testu komandas
only:
- main # Tikai galvenajai zaram
deploy_job:
stage: deploy
script:
- echo "Ražošanas izvietošana..."
- # Izvietošanas komandas
when: on_success # Izvietot tikai, ja iepriekšējie posmi ir veiksmīgi
only:
- main
| Priekšrocības | Trūkumi |
|---|---|
| Jaunu funkciju/labojumu ātra izlaišana | Augsti prasības testu kvalitātei |
| TTM (Time To Market) samazināšana | Potenciāls nevēlamu izmaiņu izvietošanas risks |
| Riska samazināšana katrā izvietošanā | Grūti ieviest bez nobriedušiem CI/CD procesiem |
| Ātra atsauksme no lietotājiem | Nepieciešama uzticama uzraudzība un atgriešanās iespēja |