Sobes.tech
Senior

Meséljen a CI/CD-vel kapcsolatos tapasztalatairól. Milyen eszközöket használt, például Jenkins, ArgoCD és mások?

sobes.tech MI

Válasz az MI-től

CI/CD tapasztalatom során a fő eszközök a Jenkins és az ArgoCD voltak, valamint a GitLab CI. Jenkins-t használtam összetett pipeline-ok létrehozására, több szakaszban, beleértve az építést, tesztelést és telepítést. A plugineknek köszönhetően szinte bármilyen eszközt és rendszert integrálni lehetett.

Az ArgoCD-t a Kubernetesben történő telepítés kezelésére használtam, különösen akkor, amikor deklaratív megközelítést és automatikus szinkronizációt kellett biztosítani a klaszter állapotáról a Git tárolóval. Ez lehetővé tette a GitOps megközelítés megvalósítását, ahol a kódban történt változások automatikusan tükröződnek az infrastruktúrában.

Egyszerű Jenkinsfile példa egy Go projekt számára:

pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                sh 'go build -v ./...'
            }
        }
        stage('Test') {
            steps {
                sh 'go test -v ./...'
            }
        }
        stage('Deploy') {
            steps {
                // telepítési parancsok, pl. kubectl apply
            }
        }
    }
}

Szintén Docker-t használtam konténerizációra és Helm-et a kiadások kezelésére Kubernetesben.