From 701685bb159baca565200fc3cf62d9fac16d2d62 Mon Sep 17 00:00:00 2001 From: areeqakbr Date: Mon, 24 Feb 2025 14:43:35 +0700 Subject: [PATCH] testing --- Jenkinsfile | 54 ++++++++++++++++++++++++++++------------------------- 1 file changed, 29 insertions(+), 25 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index c44e71b..017a8f2 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,5 +1,5 @@ pipeline { - agent any + agent { label 'ubuntu-latest' } // Runs on an Ubuntu-based Jenkins agent environment { REGISTRY_URL = 'git.winteraccess.id' @@ -15,36 +15,37 @@ pipeline { } } - stage('Build Docker Image') { - agent { - docker { - image 'docker:latest' - args '-v /var/run/docker.sock:/var/run/docker.sock' - } - } + stage('Get Short SHA') { steps { script { - def shortSha = sh(script: 'git rev-parse --short HEAD', returnStdout: true).trim() - def imageTag = "dev-${shortSha}" - sh "docker build -t ${REGISTRY_URL}/${IMAGE_NAME}:${imageTag} ." + env.SHORT_SHA = sh(script: 'git rev-parse --short HEAD', returnStdout: true).trim() } } } - stage('Push Docker Image') { - agent { - docker { - image 'docker:latest' - args '-v /var/run/docker.sock:/var/run/docker.sock' - } - } + stage('Login to Registry') { steps { script { - def shortSha = sh(script: 'git rev-parse --short HEAD', returnStdout: true).trim() - def imageTag = "dev-${shortSha}" - sh "docker push ${REGISTRY_URL}/${IMAGE_NAME}:${imageTag}" - sh "docker push ${REGISTRY_URL}/${IMAGE_NAME}:dev" - sh "docker push ${REGISTRY_URL}/${IMAGE_NAME}:latest" + sh """ + echo '${env.REGISTRY_TOKEN}' | docker login ${REGISTRY_URL} --username ${env.REGISTRY_USER} --password-stdin + """ + } + } + } + + stage('Build and Push Docker Image') { + steps { + script { + def imageTag = "dev-${env.SHORT_SHA}" + sh """ + docker build -t ${REGISTRY_URL}/${IMAGE_NAME}:${imageTag} \ + -t ${REGISTRY_URL}/${IMAGE_NAME}:dev \ + -t ${REGISTRY_URL}/${IMAGE_NAME}:latest \ + -f deploy/docker/Dockerfile . + docker push ${REGISTRY_URL}/${IMAGE_NAME}:${imageTag} + docker push ${REGISTRY_URL}/${IMAGE_NAME}:dev + docker push ${REGISTRY_URL}/${IMAGE_NAME}:latest + """ } } } @@ -54,7 +55,10 @@ pipeline { script { withCredentials([string(credentialsId: "${KUBE_CONFIG_ID}", variable: 'KUBE_CONFIG')]) { writeFile file: 'kubeconfig', text: KUBE_CONFIG - sh "kubectl apply -f deploy/kubernetes/dev.yaml --kubeconfig=kubeconfig" + sh """ + kubectl apply -f deploy/kubernetes/dev.yaml --kubeconfig=kubeconfig + kubectl set image deployment/backend backend=${REGISTRY_URL}/${IMAGE_NAME}:dev-${env.SHORT_SHA} -n nam-backend-dev --kubeconfig=kubeconfig + """ } } } @@ -66,4 +70,4 @@ pipeline { cleanWs() } } -} \ No newline at end of file +}