Sobes.tech
Junior

Mi a kontextus a DevOps-ban?

sobes.tech MI

Válasz az MI-től

A DevOps kontextus több dolgot is jelenthet, de főként:

  1. Szervezeti kontextus: kultúra, folyamatok, csapatstruktúra és üzleti célok, amelyek befolyásolják a DevOps gyakorlatok bevezetését.
  2. Technikai kontextus: infrastruktúra, technológiai verem, alkalmazásarchitektúra és meglévő eszközök, amelyeket a munkafolyamat során használnak.
  3. Feladat vagy tevékenység kontextusa: specifikus követelmények, korlátozások és függőségek, amelyek egy adott feladathoz kapcsolódnak (pl. egy új szolgáltatás telepítése, CI/CD pipeline konfigurálása).

Példa a kontextus használatára egy CI/CD pipeline-ban:

# .gitlab-ci.yml
stages:
  - build
  - test
  - deploy_staging
  - deploy_production

variables:
  # Szervezeti kontextus: projekt neve, alkalmazás verziója
  PROJECT_NAME: "my-web-app"
  APP_VERSION: "1.0.${CI_PIPELINE_IID}" # GitLab CI technikai kontextusából származó CI_PIPELINE_IID

build:
  stage: build
  script:
    # Technikai kontextus: Docker használata a kép építéséhez
    - docker build -t $PROJECT_NAME:$APP_VERSION .
  tags:
    - docker_builder # Feladatspecifikus környezetet igényel

test:
  stage: test
  script:
    # Feladatspecifikus: egységtesztek futtatása
    - docker run $PROJECT_NAME:$APP_VERSION npm test

deploy_staging:
  stage: deploy_staging
  script:
    # Feladatspecifikus: közbenső környezetbe telepítés
    - kubectl apply -f kubernetes/staging.yaml # Technikai kontextus: Kubernetes használata
  variables:
    # Szervezeti kontextus: változók a staging eléréséhez
    KUBECONFIG: /path/to/staging/kubeconfig

deploy_production:
  stage: deploy_production
  script:
    # Feladatspecifikus: gyártási környezetbe telepítés
    - kubectl apply -f kubernetes/production.yaml
  when: manual # Szervezeti kontextus: kézi megerősítés a gyártáshoz
  only:
    - main # Szervezeti kontextus: csak a main ágról történő telepítés

A kontextus megértése kulcsfontosságú a helyes döntések meghozatalához eszközök, folyamatok és stratégiák kiválasztásában, valamint a csapatok közötti hatékony együttműködéshez.