|
@@ -23,7 +23,8 @@ 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)
|
|
|
|
|
|
|
+ booleanParam(name: 'creadb', description: 'Crea el objeto para crear la DB en el cúster', defaultValue: false)
|
|
|
|
|
+ booleanParam(name: 'borradb', description: 'Borra el objeto que creó la DB, no la DB', defaultValue: false)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
stages {
|
|
stages {
|
|
@@ -35,12 +36,9 @@ 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 """#!/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
|
|
|
|
|
|
|
+ sh """#!/bin/bash
|
|
|
|
|
+ cat K8S/pvc-${NOMBRE_APP}.yaml | sed -e "s/<NS>/${NAMESPACE}/" | kubectl create -f -
|
|
|
|
|
+ cat K8S/pvc-static.yaml | sed -e "s/<NS>/${NAMESPACE}/" | kubectl create -f -
|
|
|
"""
|
|
"""
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -55,20 +53,47 @@ 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 """#!/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
|
|
|
|
|
|
|
+ sh """#!/bin/bash
|
|
|
|
|
+ cat K8S/pvc-${NOMBRE_APP}.yaml | sed -e "s/<NS>/${NAMESPACE}/" | kubectl delete -f -
|
|
|
|
|
+ cat K8S/pvc-static.yaml | sed -e "s/<NS>/${NAMESPACE}/" | kubectl delete -f -
|
|
|
"""
|
|
"""
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ stage('Crea el objeto para crear la DB') {
|
|
|
|
|
+ when {
|
|
|
|
|
+ expression { params.creadb}
|
|
|
|
|
+ }
|
|
|
|
|
+ steps {
|
|
|
|
|
+ echo "Creando el objeto que crea la DB..."
|
|
|
|
|
+ container('kubectl') {
|
|
|
|
|
+ withCredentials([file(credentialsId: env.Destino, variable: 'KUBECONFIG')]) {
|
|
|
|
|
+ sh """#!/bin/bash
|
|
|
|
|
+ kubectl create -f K8S/${NOMBRE_APP}-db.yaml
|
|
|
|
|
+ """
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ stage('Borra el objeto que creó la DB, no la DB') {
|
|
|
|
|
+ when {
|
|
|
|
|
+ expression { params.borradb}
|
|
|
|
|
+ }
|
|
|
|
|
+ steps {
|
|
|
|
|
+ echo "Borrando el objeto que creó la DB..."
|
|
|
|
|
+ container('kubectl') {
|
|
|
|
|
+ withCredentials([file(credentialsId: env.Destino, variable: 'KUBECONFIG')]) {
|
|
|
|
|
+ sh """#!/bin/bash
|
|
|
|
|
+ kubectl delete -f K8S/${NOMBRE_APP}-db.yaml
|
|
|
|
|
+ """
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
stage('Borra todo') {
|
|
stage('Borra todo') {
|
|
|
when {
|
|
when {
|
|
|
expression { params.clean }
|
|
expression { params.clean }
|
|
@@ -104,7 +129,9 @@ pipeline {
|
|
|
echo "Borrando namespace..."
|
|
echo "Borrando namespace..."
|
|
|
container('kubectl') {
|
|
container('kubectl') {
|
|
|
withCredentials([file(credentialsId: env.Destino, variable: 'KUBECONFIG')]) {
|
|
withCredentials([file(credentialsId: env.Destino, variable: 'KUBECONFIG')]) {
|
|
|
- sh 'kubectl delete -f K8S/namespace.yaml||true'
|
|
|
|
|
|
|
+ sh """#!/bin/bash
|
|
|
|
|
+ cat K8S/namespace.yaml | sed -e "s/<NS>/${NAMESPACE}/" | kubectl delete -f -
|
|
|
|
|
+ """
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -118,9 +145,8 @@ 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 """#!/bin/bash
|
|
|
|
|
- sed -i 's|<NS>|"${NAMESPACE}"|' K8S/namespace.yaml
|
|
|
|
|
- kubectl create -f K8S/namespace.yaml
|
|
|
|
|
|
|
+ sh """#!/bin/bash
|
|
|
|
|
+ cat K8S/namespace.yaml | sed -e "s/<NS>/${NAMESPACE}/" | kubectl create -f -
|
|
|
"""
|
|
"""
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -157,7 +183,7 @@ pipeline {
|
|
|
steps {
|
|
steps {
|
|
|
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 """#!/bin/bash
|
|
sh """#!/bin/bash
|
|
|
sed -i 's|<NS>|"${NAMESPACE}"|' K8S/${NOMBRE_APP}-deployment.yaml
|
|
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/${NOMBRE_APP}-ingress.yaml
|
|
@@ -186,7 +212,6 @@ pipeline {
|
|
|
expression { !params.borranamespace }
|
|
expression { !params.borranamespace }
|
|
|
expression { !params.claims }
|
|
expression { !params.claims }
|
|
|
expression { !params.borraclaims }
|
|
expression { !params.borraclaims }
|
|
|
- expression { !params.install }
|
|
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
steps {
|
|
steps {
|
|
@@ -203,30 +228,6 @@ pipeline {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- 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 {
|