Преглед изворни кода

Pongo paso para instalar la latest imagen

Tino пре 5 месеци
родитељ
комит
b9881390fd
1 измењених фајлова са 34 додато и 0 уклоњено
  1. 34 0
      Jenkinsfile

+ 34 - 0
Jenkinsfile

@@ -29,6 +29,7 @@ pipeline {
     booleanParam(name: 'borradb', description: 'Borra el objeto que creó la DB, no la DB', defaultValue: false)
     booleanParam(name: 'servicelb', description: 'Crea el servicio LoadBalancer', defaultValue: false)
     booleanParam(name: 'servicenp', description: 'Crea el servicio NodePort', defaultValue: false)
+    booleanParam(name: 'latest', description: 'Instala la última versión', defaultValue: false)
   }
   
   stages {
@@ -205,6 +206,7 @@ pipeline {
           expression { !params.borradb }
           expression { !params.servicenp }
           expression { !params.servicelb }
+          expression { !params.latest }
         }
       }
       steps {
@@ -261,6 +263,7 @@ pipeline {
           expression { !params.borradb }
           expression { !params.servicenp }
           expression { !params.servicelb }
+          expression { !params.latest }
         }
       }
       steps {
@@ -278,6 +281,37 @@ pipeline {
         }
       }
     }   
+
+    stage('Despliega la aplicación en Kubernetes con la última imagen') {
+      when {
+        allOf {
+          expression { !params.clean }
+          expression { !params.namespace }
+          expression { !params.borranamespace } 
+          expression { !params.claims }
+          expression { !params.borraclaims }
+          expression { !params.creadb }
+          expression { !params.borradb }
+          expression { !params.servicenp }
+          expression { !params.servicelb }
+          expression { params.latest }
+        }
+      }
+      steps {
+        echo "Desplegando la aplicación" 
+        container('kubectl') {
+          withCredentials([file(credentialsId: env.Destino, variable: 'KUBECONFIG')]) {
+          sh """#!/bin/bash
+            sed -i 's|<NS>|"${NAMESPACE}"|' K8S/${NOMBRE_APP}-deployment.yaml
+            sed -i 's|<REGISTRO>|${REGISTRO}|' K8S/${NOMBRE_APP}-deployment.yaml
+            sed -i "s/<TAG>/latest}/" K8S/${NOMBRE_APP}-deployment.yaml
+            kubectl delete -f K8S/${NOMBRE_APP}-deployment.yaml || true
+            kubectl apply -f K8S/${NOMBRE_APP}-deployment.yaml
+            """
+          }
+        }
+      }
+    }   
   }
   
   post {