40 lines
1.3 KiB
Groovy
40 lines
1.3 KiB
Groovy
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 branch: 'main',
|
|
credentialsId: '1138e92b-d38f-4578-9058-82fc7b6f734b',
|
|
url: 'https://git.rri.co.id/admin/ci3-app.git'
|
|
}
|
|
}
|
|
stage('Build Docker Image') {
|
|
steps {
|
|
sh "docker build -t ${REGISTRY}/${IMAGE_NAME}:${IMAGE_TAG} ."
|
|
}
|
|
}
|
|
stage('Push Docker 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}"
|
|
}
|
|
}
|
|
}
|
|
}
|