From 9b7b137d06f69537c16a01ed4f757538238f0882 Mon Sep 17 00:00:00 2001 From: konsthol Date: Tue, 27 May 2025 11:15:36 +0300 Subject: [PATCH] LOTS of changes. period --- vars/buildAndDeploy.groovy | 52 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 vars/buildAndDeploy.groovy diff --git a/vars/buildAndDeploy.groovy b/vars/buildAndDeploy.groovy new file mode 100644 index 0000000..16a51a5 --- /dev/null +++ b/vars/buildAndDeploy.groovy @@ -0,0 +1,52 @@ +def call(String appName, String helmChartPath, String helmRepoName,String helmChartVersion, String dockerBuildFunction) { + stage('Make jar') { + steps { + script { + buildJar(true) + } + } + } + stage('Package helm chart') { + steps { + script { + makeHelmChart("${helmChartPath}/${appName}") + } + } + } + stage('Upload helm chart') { + steps { + script { + uploadHelmChart("${appName}-${helmChartVersion}", env.NEXUS_URL, "admin", env.NEXUS_PASS) + } + } + } + stage('Docker build & push') { + steps { + script { + this."${dockerBuildFunction}"(env.NEXUS_DOCKER_URL, appName, "./Dockerfile", "target", "admin", env.NEXUS_DOCKER_PASS) + } + } + } + stage('Add Helm Repo') { + steps { + script { + addHelmRepo(helmRepoName, env.NEXUS_URL) + } + } + } + stage('Deploy Helm Chart') { + steps { + script { + deployHelm( + appName, + helmRepoName, + appName, + helmChartVersion, + env.KUBERNETES_API, + env.KUBERNETES_TOKEN, + ["app.image": "localhost:31050/my-docker-repo/${appName}:latest", "app.ports.http": 8090, "app.secret": "nexus-secret"] + ) + } + } + } +}