rollback changes

This commit is contained in:
areeqakbr 2025-02-25 10:04:56 +07:00
parent e64c275b3b
commit 39dce782c9
1 changed files with 28 additions and 62 deletions

88
Jenkinsfile vendored
View File

@ -1,28 +1,5 @@
pipeline { pipeline {
agent { agent any // Runs on an Ubuntu-based Jenkins agent
kubernetes {
yaml """
apiVersion: v1
kind: Pod
spec:
containers:
- name: jnlp
image: jenkins/inbound-agent:latest
- name: docker
image: docker:latest
command:
- cat
tty: true
volumeMounts:
- name: docker-sock
mountPath: /var/run/docker.sock
volumes:
- name: docker-sock
hostPath:
path: /var/run/docker.sock
"""
}
}
environment { environment {
REGISTRY_URL = 'git.winteraccess.id' REGISTRY_URL = 'git.winteraccess.id'
@ -35,66 +12,55 @@ spec:
stages { stages {
stage('Checkout Code') { stage('Checkout Code') {
steps { steps {
container('jnlp') { git branch: 'dev', url: 'https://git.winteraccess.id/winter-access/backend_nam.git', credentialsId: "${CREDENTIALS_ID}"
git branch: 'dev', url: 'https://git.winteraccess.id/winter-access/backend_nam.git', credentialsId: "${CREDENTIALS_ID}"
}
} }
} }
stage('Get Short SHA') { stage('Get Short SHA') {
steps { steps {
container('jnlp') { script {
script { env.SHORT_SHA = sh(script: 'git rev-parse --short HEAD', returnStdout: true).trim()
env.SHORT_SHA = sh(script: 'git rev-parse --short HEAD', returnStdout: true).trim()
}
} }
} }
} }
stage('Login to Registry') { stage('Login to Registry') {
steps { steps {
container('docker') { script {
script { withCredentials([usernamePassword(credentialsId: "${DOCKERUSRPASS}", usernameVariable: 'REGISTRY_USER', passwordVariable: 'REGISTRY_TOKEN')]) {
withCredentials([usernamePassword(credentialsId: "${DOCKERUSRPASS}", usernameVariable: 'REGISTRY_USER', passwordVariable: 'REGISTRY_TOKEN')]) { sh """
sh """ echo "$REGISTRY_TOKEN" | docker login "$REGISTRY_URL" --username ${REGISTRY_USER} --password-stdin
echo "$REGISTRY_TOKEN" | docker login "$REGISTRY_URL" --username ${REGISTRY_USER} --password-stdin """
"""
}
} }
} }
} }
} }
stage('Build and Push Docker Image') { stage('Build and Push Docker Image') {
steps { steps {
container('docker') { script {
script { def imageTag = "dev-${env.SHORT_SHA}"
def imageTag = "dev-${env.SHORT_SHA}" sh """
sh """ docker build -t ${REGISTRY_URL}/${IMAGE_NAME}:${imageTag} \
docker build -t ${REGISTRY_URL}/${IMAGE_NAME}:${imageTag} \ -t ${REGISTRY_URL}/${IMAGE_NAME}:dev \
-t ${REGISTRY_URL}/${IMAGE_NAME}:dev \ -t ${REGISTRY_URL}/${IMAGE_NAME}:latest \
-t ${REGISTRY_URL}/${IMAGE_NAME}:latest \ -f deploy/docker/Dockerfile .
-f deploy/docker/Dockerfile . docker push ${REGISTRY_URL}/${IMAGE_NAME}:${imageTag}
docker push ${REGISTRY_URL}/${IMAGE_NAME}:${imageTag} docker push ${REGISTRY_URL}/${IMAGE_NAME}:dev
docker push ${REGISTRY_URL}/${IMAGE_NAME}:dev docker push ${REGISTRY_URL}/${IMAGE_NAME}:latest
docker push ${REGISTRY_URL}/${IMAGE_NAME}:latest """
"""
}
} }
} }
} }
stage('Deploy to Kubernetes') { stage('Deploy to Kubernetes') {
steps { steps {
container('jnlp') { script {
script { withCredentials([string(credentialsId: "${KUBE_CONFIG_ID}", variable: 'KUBE_CONFIG')]) {
withCredentials([string(credentialsId: "${KUBE_CONFIG_ID}", variable: 'KUBE_CONFIG')]) { writeFile file: 'kubeconfig', text: KUBE_CONFIG
writeFile file: 'kubeconfig', text: KUBE_CONFIG sh """
sh """ kubectl apply -f deploy/kubernetes/dev.yaml --kubeconfig=kubeconfig
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
kubectl set image deployment/backend backend=${REGISTRY_URL}/${IMAGE_NAME}:dev-${env.SHORT_SHA} -n nam-backend-dev --kubeconfig=kubeconfig """
"""
}
} }
} }
} }