From 09b135e612494ee68eb3c76f4ce3e823d33b984e Mon Sep 17 00:00:00 2001 From: root Date: Sun, 27 Apr 2025 08:44:23 +0700 Subject: [PATCH] Add Jenkinsfile for CI/CD pipeline --- Jenkinsfile | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 Jenkinsfile diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..5e88ac1 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,37 @@ +pipeline { + agent any + environment { + REGISTRY = "docker.rri.co.id" + IMAGE_NAME = "ci3-app" + IMAGE_TAG = "latest" + KUBE_NAMESPACE = "default" + DEPLOYMENT_NAME = "ci3-deployment" + } + stages { + stage('Checkout') { + steps { + git url: 'http://git.rri.co.id/admin/ci3-app.git' + } + } + stage('Build Docker Image') { + steps { + sh "docker build -t ${REGISTRY}/${IMAGE_NAME}:${IMAGE_TAG} ." + } + } + stage('Push Image') { + steps { + withCredentials([usernamePassword(credentialsId: 'docker-credentials', usernameVariable: 'DOCKER_USER', passwordVariable: 'DOCKER_PASS')]) { + sh """ + echo \$DOCKER_PASS | docker login ${REGISTRY} -u \$DOCKER_USER --password-stdin + docker push ${REGISTRY}/${IMAGE_NAME}:${IMAGE_TAG} + """ + } + } + } + stage('Deploy to Kubernetes') { + steps { + sh "kubectl set image deployment/${DEPLOYMENT_NAME} php=${REGISTRY}/${IMAGE_NAME}:${IMAGE_TAG} -n ${KUBE_NAMESPACE}" + } + } + } +}