Files
SLA_SEPARACAO/Jenkinsfile
T
2026-08-06 11:13:33 -03:00

65 lines
1.8 KiB
Groovy

pipeline {
agent any
environment {
REGISTRY = "10.77.77.41:5000/slalog"
IMAGE_NAME = "sla-separacao"
IMAGE_TAG = "${BUILD_NUMBER}"
K8S_DIR = "k8s"
K8S_NAMESPACE = "ci-cd"
}
stages {
stage('Checkout') {
steps {
checkout scm
}
}
stage('Build Docker Image') {
steps {
script {
sh """
docker build -t ${REGISTRY}/${IMAGE_NAME}:${IMAGE_TAG} .
"""
}
}
}
stage('Push Docker Image') {
steps {
script {
sh """
docker push ${REGISTRY}/${IMAGE_NAME}:${IMAGE_TAG}
"""
}
}
}
stage('Deploy to Kubernetes') {
steps {
script {
sh """
export KUBECONFIG=/var/lib/jenkins/.kube/config
sed -i 's|image: .*sla-separacao:.*|image: ${REGISTRY}/${IMAGE_NAME}:${IMAGE_TAG}|' k8s/deployment.yaml
kubectl apply -n ${K8S_NAMESPACE} -f k8s/deployment.yaml
kubectl apply -n ${K8S_NAMESPACE} -f k8s/service.yaml
kubectl apply -n ${K8S_NAMESPACE} -f k8s/hpa.yaml
git checkout -- k8s/deployment.yaml
kubectl rollout status deployment/sla-separacao-deployment -n ${K8S_NAMESPACE} --timeout=180s
"""
}
}
}
}
post {
success {
echo "Deploy realizado com sucesso."
}
failure {
echo "Falha no pipeline."
}
}
}