Added build dir
Added integrations with k8s Added support for multiple stands
This commit is contained in:
Vendored
+62
@@ -0,0 +1,62 @@
|
||||
@Library(['jlib']) _
|
||||
|
||||
node("docker") {
|
||||
// Временная метка в логе Jenkins
|
||||
timestamps() {
|
||||
// Цветные букавы в логе Jenkins
|
||||
ansiColor("xterm"){
|
||||
// Получаем актуальную версию репы, где лежит пайп
|
||||
checkout scm
|
||||
|
||||
stage("Prepare environments") {
|
||||
if (env.BRANCH_NAME == 'master')
|
||||
envConfig = "build/vars/master.yaml"
|
||||
else if (env.BRANCH_NAME == 'dev')
|
||||
envConfig = "build/vars/dev.yaml"
|
||||
else
|
||||
error("Unsupported branch: ${env.BRANCH_NAME}")
|
||||
|
||||
support.getVarsV2(envConfig)
|
||||
println "Success prepare"
|
||||
}
|
||||
|
||||
stage("Build image") {
|
||||
println "Start building image ${env.registryContainerName}:${env.version}"
|
||||
|
||||
app = docker.build("${env.registryContainerName}:${env.version}", "--no-cache -f ./build/Dockerfile .")
|
||||
|
||||
println "Start uploading image ${env.registryContainerName}:${env.version} to Nexus"
|
||||
docker.withRegistry("https://${registryUrl}", "nexus-jenkins-cred") {
|
||||
app.push("${env.version}")
|
||||
app.push("latest")
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
convertJinja("auth.config.tmpl", "auth.config")
|
||||
convertJinja("microservice.yaml.tmpl", "microservice.yaml")
|
||||
|
||||
sh "kubectl --kubeconfig=auth.config get pods --namespace ${env.namespace}"
|
||||
sh "kubectl --kubeconfig=auth.config apply -f microservice.yaml"
|
||||
}
|
||||
}
|
||||
|
||||
println "Success build job. Now start cleanup"
|
||||
|
||||
cleanWs(
|
||||
deleteDirs: true,
|
||||
disableDeferredWipeout: true
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user