Skip to main content
Toate articolele
CI/CDAzure DevOpsArgoCDKubernetesGitOps

De la Cod la Cloud: CI/CD cu Azure DevOps și ArgoCD

Cum să configurezi pipeline-uri Azure DevOps pentru build, test și push de imagini — și să predai CD-ul către ArgoCD pentru livrare GitOps în Kubernetes.

20 ianuarie 20266 min citire

Un pipeline CI/CD curat are două roluri distincte: construiește un artefact verificat (CI) și îl implementează în mediul potrivit (CD). Amestecarea acestora într-un singur pipeline creează fragilitate. Acest articol arată cum Azure DevOps gestionează CI și ArgoCD gestionează CD.

Modelul split

CI (Azure DevOps pipelines):

  • Compilare și testare la fiecare push
  • Build și tag-uire imagine Docker
  • Push la Azure Container Registry (ACR)
  • Actualizare fișier Helm values.yaml în repo-ul GitOps cu noul tag de imagine

CD (ArgoCD):

  • Monitorizează repo-ul GitOps pentru modificări
  • Compară starea clusterului cu repo-ul
  • Aplică modificările la sincronizare

Pipeline Azure DevOps

trigger:
  branches:
    include: [main]

pool:
  vmImage: ubuntu-latest

stages:
  - stage: CI
    jobs:
      - job: BuildAndPush
        steps:
          - task: Maven@4
            inputs:
              mavenPomFile: pom.xml
              goals: verify

          - task: Docker@2
            displayName: Build and push image
            inputs:
              command: buildAndPush
              repository: $(ACR_NAME).azurecr.io/$(IMAGE_NAME)
              tags: |
                $(Build.BuildId)
                latest

Manifest ArgoCD Application

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: api-service
  namespace: argocd
spec:
  source:
    repoURL: https://github.com/org/gitops-repo
    targetRevision: main
    path: helm/api-service
  destination:
    server: https://kubernetes.default.svc
    namespace: production
  syncPolicy:
    automated:
      prune: true
      selfHeal: true

selfHeal: true înseamnă că ArgoCD va reverta modificările manuale kubectl — bun pentru disciplina în producție.

Promovarea în medii

Pentru setup-uri multi-mediu (dev → staging → prod), menține fișiere separate values-dev.yaml, values-staging.yaml, values-prod.yaml. CI promovează automat în dev la fiecare merge; staging și prod necesită un tag deliberat.


Vrei acest pattern de pipeline configurat pentru proiectul tău? Rezervă un apel sau trimite un brief.

Vrei să rezolvi asta pentru business-ul tău?

Scope fix, preț fix, handover scris - website-uri, aplicații full-stack și pipeline-uri DevOps livrate în săptămâni, nu luni.