Sobes.tech
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:

  1. Commit: Izstrādātājs veic izmaiņas versiju kontroles sistēmā (piemēram, Git).
  2. Build: Automātiski tiek izveidots artefakts (attēls, pakotne utt.).
  3. Test: Veic automātiskus testus (vienību, integrācijas, funkcionālos, slodzes u.c.).
  4. 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