|
@@ -23,6 +23,7 @@ pipeline {
|
|
|
booleanParam(name: 'borraclaims', description: 'Borra PVC', defaultValue: false)
|
|
booleanParam(name: 'borraclaims', description: 'Borra PVC', defaultValue: false)
|
|
|
booleanParam(name: 'namespace', description: 'Crea namespace', defaultValue: false)
|
|
booleanParam(name: 'namespace', description: 'Crea namespace', defaultValue: false)
|
|
|
booleanParam(name: 'borranamespace', description: 'Borra namespace', defaultValue: false)
|
|
booleanParam(name: 'borranamespace', description: 'Borra namespace', defaultValue: false)
|
|
|
|
|
+ booleanParam(name: 'helm', description: 'Instala helm', defaultValue: false)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
stages {
|
|
stages {
|
|
@@ -34,9 +35,13 @@ pipeline {
|
|
|
echo "Creando las PVC..."
|
|
echo "Creando las PVC..."
|
|
|
container('kubectl') {
|
|
container('kubectl') {
|
|
|
withCredentials([file(credentialsId: env.Destino, variable: 'KUBECONFIG')]) {
|
|
withCredentials([file(credentialsId: env.Destino, variable: 'KUBECONFIG')]) {
|
|
|
- sh 'kubectl create -f K8S/pvc-${NOMBRE_APP}.yaml'
|
|
|
|
|
- sh 'kubectl create -f K8S/pvc-static.yaml'
|
|
|
|
|
- sh 'kubectl create -f K8S/pvc-postgresql.yaml'
|
|
|
|
|
|
|
+ sh """#!/bin/bash
|
|
|
|
|
+ sed -i 's|<NS>|"${NAMESPACE}"|' K8S/pvc-${NOMBRE_APP}.yaml
|
|
|
|
|
+ sed -i 's|<NS>|"${NAMESPACE}"|' K8S/pvc-static.yaml
|
|
|
|
|
+
|
|
|
|
|
+ kubectl create -f K8S/pvc-${NOMBRE_APP}.yaml
|
|
|
|
|
+ kubectl create -f K8S/pvc-static.yaml
|
|
|
|
|
+ """
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -50,10 +55,15 @@ pipeline {
|
|
|
echo "Borrando las PVC..."
|
|
echo "Borrando las PVC..."
|
|
|
container('kubectl') {
|
|
container('kubectl') {
|
|
|
withCredentials([file(credentialsId: env.Destino, variable: 'KUBECONFIG')]) {
|
|
withCredentials([file(credentialsId: env.Destino, variable: 'KUBECONFIG')]) {
|
|
|
- sh 'sh K8S/patchPVC.sh||true'
|
|
|
|
|
- sh 'kubectl delete -f K8S/pvc-${NOMBRE_APP}.yaml||true'
|
|
|
|
|
- sh 'kubectl delete -f K8S/pvc-static.yaml||true'
|
|
|
|
|
- sh 'kubectl delete -f K8S/pvc-postgresql.yaml||true'
|
|
|
|
|
|
|
+ sh """#!/bin/bash
|
|
|
|
|
+ sed -i 's|<NS>|"${NAMESPACE}"|' K8S/pvc-${NOMBRE_APP}.yaml
|
|
|
|
|
+ sed -i 's|<NS>|"${NAMESPACE}"|' K8S/pvc-static.yaml
|
|
|
|
|
+ sed -i 's|<NS>|"${NAMESPACE}"|' K8S/patchPVC.sh
|
|
|
|
|
+
|
|
|
|
|
+ sh K8S/patchPVC.sh||true
|
|
|
|
|
+ kubectl delete -f K8S/pvc-${NOMBRE_APP}.yaml
|
|
|
|
|
+ kubectl delete -f K8S/pvc-static.yaml
|
|
|
|
|
+ """
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -67,16 +77,18 @@ pipeline {
|
|
|
echo "Borrando todo..."
|
|
echo "Borrando todo..."
|
|
|
container('kubectl') {
|
|
container('kubectl') {
|
|
|
withCredentials([file(credentialsId: env.Destino, variable: 'KUBECONFIG')]) {
|
|
withCredentials([file(credentialsId: env.Destino, variable: 'KUBECONFIG')]) {
|
|
|
- sh 'kubectl delete -f K8S/db-deployment.yaml||true'
|
|
|
|
|
- sh 'kubectl delete -f K8S/db-service.yaml||true'
|
|
|
|
|
-
|
|
|
|
|
- sh 'kubectl delete -f K8S/${NOMBRE_APP}-deployment.yaml||true'
|
|
|
|
|
- sh 'kubectl delete -f K8S/${NOMBRE_APP}-ingress.yaml||true'
|
|
|
|
|
|
|
+ sh """#!/bin/bash
|
|
|
|
|
+ sed -i 's|<NS>|"${NAMESPACE}"|' K8S/${NOMBRE_APP}-deployment.yaml
|
|
|
|
|
+ sed -i 's|<NS>|"${NAMESPACE}"|' K8S/${NOMBRE_APP}-ingress.yaml
|
|
|
|
|
+ sed -i 's|<NS>|"${NAMESPACE}"|' K8S/reg-secret.yaml
|
|
|
|
|
+ sed -i 's|<NS>|"${NAMESPACE}"|' K8S/env-prod-configmap.yaml
|
|
|
|
|
|
|
|
- sh 'kubectl delete -f K8S/reg-secret.yaml||true'
|
|
|
|
|
- sh 'kubectl delete -f K8S/env-prod-configmap.yaml||true'
|
|
|
|
|
- sh 'kubectl delete -f K8S/env-prod-db-configmap.yaml||true'
|
|
|
|
|
|
|
+ kubectl delete -f K8S/${NOMBRE_APP}-deployment.yaml||true
|
|
|
|
|
+ kubectl delete -f K8S/${NOMBRE_APP}-ingress.yaml||true
|
|
|
|
|
|
|
|
|
|
+ kubectl delete -f K8S/reg-secret.yaml||true
|
|
|
|
|
+ kubectl delete -f K8S/env-prod-configmap.yaml||true
|
|
|
|
|
+ """
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -104,7 +116,10 @@ pipeline {
|
|
|
echo "Creando namespace..."
|
|
echo "Creando namespace..."
|
|
|
container('kubectl') {
|
|
container('kubectl') {
|
|
|
withCredentials([file(credentialsId: env.Destino, variable: 'KUBECONFIG')]) {
|
|
withCredentials([file(credentialsId: env.Destino, variable: 'KUBECONFIG')]) {
|
|
|
- sh 'kubectl apply -f K8S/namespace.yaml'
|
|
|
|
|
|
|
+ sh """#!/bin/bash
|
|
|
|
|
+ sed -i 's|<NS>|"${NAMESPACE}"|' K8S/namespace.yaml
|
|
|
|
|
+ kubectl create -f K8S/namespace.yaml
|
|
|
|
|
+ """
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -141,16 +156,19 @@ pipeline {
|
|
|
echo "Creando todo..."
|
|
echo "Creando todo..."
|
|
|
container('kubectl') {
|
|
container('kubectl') {
|
|
|
withCredentials([file(credentialsId: env.Destino, variable: 'KUBECONFIG')]) {
|
|
withCredentials([file(credentialsId: env.Destino, variable: 'KUBECONFIG')]) {
|
|
|
- sh 'kubectl create -f K8S/reg-secret.yaml'
|
|
|
|
|
- sh 'kubectl create -f K8S/env-prod-configmap.yaml'
|
|
|
|
|
- sh 'kubectl create -f K8S/env-prod-db-configmap.yaml'
|
|
|
|
|
|
|
+ sh """#!/bin/bash
|
|
|
|
|
+ sed -i 's|<NS>|"${NAMESPACE}"|' K8S/${NOMBRE_APP}-deployment.yaml
|
|
|
|
|
+ sed -i 's|<NS>|"${NAMESPACE}"|' K8S/${NOMBRE_APP}-ingress.yaml
|
|
|
|
|
+ sed -i 's|<NS>|"${NAMESPACE}"|' K8S/reg-secret.yaml
|
|
|
|
|
+ sed -i 's|<NS>|"${NAMESPACE}"|' K8S/env-prod-configmap.yaml
|
|
|
|
|
|
|
|
- sh 'kubectl create -f K8S/db-deployment.yaml'
|
|
|
|
|
- sh 'kubectl create -f K8S/db-service.yaml'
|
|
|
|
|
|
|
+ kubectl create -f K8S/reg-secret.yaml||true
|
|
|
|
|
+ kubectl apply -f K8S/env-prod-configmap.yaml
|
|
|
|
|
|
|
|
- sh 'sed -i "s/<TAG>/${BUILD_NUMBER}/" K8S/${NOMBRE_APP}-deployment.yaml'
|
|
|
|
|
- sh 'kubectl apply -f K8S/${NOMBRE_APP}-deployment.yaml'
|
|
|
|
|
- sh 'kubectl create -f K8S/${NOMBRE_APP}-ingress.yaml'
|
|
|
|
|
|
|
+ sed -i "s/<TAG>/${BUILD_NUMBER}/" K8S/${NOMBRE_APP}-deployment.yaml
|
|
|
|
|
+ kubectl apply -f K8S/${NOMBRE_APP}-deployment.yaml
|
|
|
|
|
+ kubectl create -f K8S/${NOMBRE_APP}-ingress.yaml||true
|
|
|
|
|
+ """
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -171,16 +189,42 @@ pipeline {
|
|
|
echo "Desplegando la aplicación"
|
|
echo "Desplegando la aplicación"
|
|
|
container('kubectl') {
|
|
container('kubectl') {
|
|
|
withCredentials([file(credentialsId: env.Destino, variable: 'KUBECONFIG')]) {
|
|
withCredentials([file(credentialsId: env.Destino, variable: 'KUBECONFIG')]) {
|
|
|
- sh 'sed -i "s/<TAG>/${BUILD_NUMBER}/" K8S/${NOMBRE_APP}-deployment.yaml'
|
|
|
|
|
- sh 'kubectl delete -f K8S/${NOMBRE_APP}-deployment.yaml || true'
|
|
|
|
|
- sh 'kubectl apply -f K8S/${NOMBRE_APP}-deployment.yaml'
|
|
|
|
|
|
|
+ sh """#!/bin/bash
|
|
|
|
|
+ sed -i 's|<NS>|"${NAMESPACE}"|' K8S/${NOMBRE_APP}-deployment.yaml
|
|
|
|
|
+ sed -i "s/<TAG>/${BUILD_NUMBER}/" K8S/${NOMBRE_APP}-deployment.yaml
|
|
|
|
|
+ kubectl delete -f K8S/${NOMBRE_APP}-deployment.yaml || true
|
|
|
|
|
+ kubectl apply -f K8S/${NOMBRE_APP}-deployment.yaml
|
|
|
|
|
+ """
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
- /*
|
|
|
|
|
|
|
+ stage('Instala Helm Chart') {
|
|
|
|
|
+ when {
|
|
|
|
|
+ allOf {
|
|
|
|
|
+ expression { !params.clean }
|
|
|
|
|
+ expression { !params.namespace }
|
|
|
|
|
+ expression { !params.borranamespace }
|
|
|
|
|
+ expression { !params.claims }
|
|
|
|
|
+ expression { !params.borraclaims }
|
|
|
|
|
+ expression { !params.install }
|
|
|
|
|
+ expression { params.helm }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ steps {
|
|
|
|
|
+ echo "Instalando el helm chart"
|
|
|
|
|
+ container('kubectl') {
|
|
|
|
|
+ withCredentials([file(credentialsId: env.Destino, variable: 'KUBECONFIG')]) {
|
|
|
|
|
+ sh """#!/bin/bash
|
|
|
|
|
+ helm upgrade finanzas finanzas --namespace finanzas --set=image.tag=${BUILD_NUMBER}
|
|
|
|
|
+ """
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
post {
|
|
post {
|
|
|
always {
|
|
always {
|
|
|
mail to: 'creylopez@yahoo.es',
|
|
mail to: 'creylopez@yahoo.es',
|
|
@@ -210,5 +254,5 @@ pipeline {
|
|
|
mimeType: 'text/html'
|
|
mimeType: 'text/html'
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- */
|
|
|
|
|
}
|
|
}
|
|
|
|
|
+
|