소스 검색

Preparando para cambio de db

Celestino Rey 6 달 전
부모
커밋
1a61df0db3
2개의 변경된 파일51개의 추가작업 그리고 50개의 파일을 삭제
  1. 46 45
      Jenkinsfile
  2. 5 5
      src/misfinanzas/settings.py

+ 46 - 45
Jenkinsfile

@@ -23,7 +23,8 @@ pipeline {
     booleanParam(name: 'borraclaims', description: 'Borra PVC', defaultValue: false)
     booleanParam(name: 'namespace', description: 'Crea 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 {
@@ -35,12 +36,9 @@ pipeline {
         echo "Creando las PVC..." 
         container('kubectl') {
           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..." 
         container('kubectl') {
           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') {
       when {
         expression { params.clean }
@@ -104,7 +129,9 @@ pipeline {
         echo "Borrando namespace..." 
         container('kubectl') {
           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..." 
         container('kubectl') {
           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 {
         echo "Creando todo..." 
         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/${NOMBRE_APP}-deployment.yaml
             sed -i 's|<NS>|"${NAMESPACE}"|' K8S/${NOMBRE_APP}-ingress.yaml
@@ -186,7 +212,6 @@ pipeline {
           expression { !params.borranamespace } 
           expression { !params.claims }
           expression { !params.borraclaims }
-          expression { !params.install }
         }
       }
       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 {

+ 5 - 5
src/misfinanzas/settings.py

@@ -97,14 +97,14 @@ WSGI_APPLICATION = 'misfinanzas.wsgi.application'
 DATABASES = {
     'default': {
         "ENGINE": "django.db.backends.postgresql",
-        "NAME": "reymotadb",
+        "NAME": "finanzas",
         "USER": "creylopez",
         "PASSWORD": "Dsa-0213",
-        "HOST": "postgres-cluster-rw.reymota-pg-cluster.svc.cluster.local",
+        "HOST": os.environ.get('SQL_HOST','postgres-cluster-rw.reymota-pg-cluster.svc.cluster.local'),
         "PORT": "5432",
-        "OPTIONS": {
-            "options": "-c search_path=finanzas,public"
-        }
+        #"OPTIONS": {
+            #"options": "-c search_path=finanzas,public"
+        #}
     }
 }