diff --git a/build/Jenkinsfile b/build/Jenkinsfile index 828dae5..82932f8 100644 --- a/build/Jenkinsfile +++ b/build/Jenkinsfile @@ -10,13 +10,15 @@ node("docker") { stage("Prepare environments") { if (env.BRANCH_NAME == 'master') - envConfig = "build/vars/master.yaml" + env.stand = "prod" else if (env.BRANCH_NAME == 'dev') - envConfig = "build/vars/dev.yaml" + env.stand = "test" else error("Unsupported branch: ${env.BRANCH_NAME}") + envConfig = "build/vars/build.yaml" support.getVarsV2(envConfig) + println "Success prepare" } @@ -35,15 +37,14 @@ node("docker") { stage("Update version in Kubernetes") { dir ("build") { - // Надо создать пачку кредов в Jenkins, а также пространство с кредами подключения в Vault - creds = ["auth", "certificate", "key", "k8scluster", "endpoint"] - - creds.each { cred -> - withCredentials([vaultString(credentialsId: "${env.registryContainerName}-${cred}-${stand}", variable: "key")]) { - env."${cred}" = key - } + withCredentials([vaultString(credentialsId: "config.${env.registryContainerName}-${env.stand}", variable: "pem")]) { + sh """ + set +x + echo "${pem}" | base64 -d > auth.config + set -x + """ } - convertJinja("auth.config.tmpl", "auth.config") + convertJinja("microservice.yaml.tmpl", "microservice.yaml") sh "kubectl --kubeconfig=auth.config get pods --namespace ${env.namespace}" diff --git a/build/auth.config.tmpl b/build/auth.config.tmpl deleted file mode 100644 index d398e39..0000000 --- a/build/auth.config.tmpl +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: v1 -clusters: -- cluster: - certificate-authority-data: {{ auth }} - server: {{ endpoint }} - name: {{ k8scluster }} -contexts: -- context: - cluster: {{ k8scluster }} - user: deck-api-admin - name: deck-api-admin-context -current-context: deck-api-admin-context -kind: Config -preferences: {} -users: -- name: deck-api-admin - user: - client-certificate-data: {{ certificate }} - client-key-data: {{ key }} diff --git a/build/vars/master.yaml b/build/vars/build.yaml similarity index 71% rename from build/vars/master.yaml rename to build/vars/build.yaml index 9aac776..4068dbd 100644 --- a/build/vars/master.yaml +++ b/build/vars/build.yaml @@ -1,14 +1,10 @@ main: - stand: "prod" # метка стенда registryUrl: "drn.tst.nubes.ru" # Где хранится приложение - registryContainerName: "deck-api" # Наименование приложения в Nexus - appName: "api" # наименование контейнера в K8S + appName: "svc-api" # наименование контейнера в K8S + registryContainerName: "deck-{{ appName }}" # Наименование приложения в Nexus namespace: "deck" # Namespace приложения, где он будет развёрнут appPort: 8080 # Порт, на котором работает приложение -domain: - domainName: "deck-api.ngcloud.ru" # Имя публикации - fluentBit: fbConfigMap: fluentbit-configmap-api diff --git a/build/vars/dev.yaml b/build/vars/dev.yaml deleted file mode 100644 index ed3f628..0000000 --- a/build/vars/dev.yaml +++ /dev/null @@ -1,23 +0,0 @@ -main: - stand: "dev" # метка стенда - registryUrl: "drn.tst.nubes.ru" # Где хранится приложение - registryContainerName: "deck-api" # Наименование приложения в Nexus - appName: "api" # наименование контейнера в K8S - namespace: "deck-test" # Namespace приложения, где он будет развёрнут - appPort: 8080 # Порт, на котором работает приложение - -domain: - domainName: "deck-api-test.ngcloud.ru" # Имя публикации - -fluentBit: - fbConfigMap: fluentbit-configmap-api - -version: - release: 0 - major: 0 - minor: "{{ BUILD_NUMBER }}" - version: "{{ release }}.{{ major }}.{{ minor }}" - -# Если понадобится делать envFromSecret -# jsonSecrets: -# VUE_APP_BACKEND_HOST: "{{ domainName }}" \ No newline at end of file