change build way

This commit is contained in:
2024-11-05 10:09:01 +03:00
parent 73ccc07687
commit 87406ece88
4 changed files with 13 additions and 58 deletions
+11 -10
View File
@@ -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}"
-19
View File
@@ -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 }}
@@ -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
-23
View File
@@ -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 }}"