| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- // can be called locally, without "def"
- myUtil = { ->
- println "hello myUtil"
- }
- sharedLibsPath = "${env.WORKSPACE}/sharedLibs"
- def applyService(SERVICE, K3S, String base_branch) {
- print "loading ${sharedLibsPath}/k3sUtil.groovy..."
- def k3sUtils = load "${sharedLibsPath}/k3sUtil.groovy"
- kvs = [:]
- kvs.put('<service_name>', SERVICE.name)
- kvs.put('<service_version>', SERVICE.version)
- kvs.put('<release>', base_branch)
- k3sUtils.generateService(kvs)
- k3sUtils.applyService(K3S)
- }
- // 默认Java项目K8s部署(带configmap_配置目录)
- def deployWithConfigmaps(SERVICE, K3S, String base_branch, String[] args, configmapEnv="./configmap-env.ini", configmapConf="./configmap") {
- print "loading ${sharedLibsPath}/k3sUtil.groovy..."
- def k3sUtils = load "${sharedLibsPath}/k3sUtil.groovy"
- def configmap_env_name = k3sUtils.applyConfigMapEnv(SERVICE, K3S, configmapEnv)
- def configmap_conf_name = k3sUtils.applyConfigMapConfig(SERVICE, K3S, configmapConf)
- def java_args = '['
- args.each{item -> java_args += "\"$item\","}
- java_args = java_args[0..-2] + ']'
- kvs = [:]
- kvs.put('<service_name>', SERVICE.name)
- kvs.put('<service_version>', SERVICE.version)
- kvs.put('<release>', base_branch)
- kvs.put('<COMMIT_SHA>', COMMIT_SHA)
- kvs.put('<imagePullSecret>', K3S.pull_secretId)
- kvs.put('<docker_image>', imageUri)
- kvs.put('<java_args>', java_args)
- if (SERVICE.health != null)
- kvs.put('<service_health>', SERVICE.health)
- kvs.put('<configmap_env_name>', configmap_env_name)
- kvs.put('<configmap_conf_name>', configmap_conf_name)
- k3sUtils.generateDeployment(kvs, 'deployment.yaml')
- k3sUtils.applyDeployment(K3S)
- }
- // 默认Java项目K8s部署(仅配置configmap_Environment)
- def deployWithConfigmapEnvOnly(SERVICE, K3S, String base_branch, String[] args, configmapEnv="./configmap-env.ini"){
- print "loading ${sharedLibsPath}/k3sUtil.groovy..."
- def k3sUtils = load "${sharedLibsPath}/k3sUtil.groovy"
-
- def configmap_env_name = k3sUtils.applyConfigMapEnv(SERVICE, K3S, configmapEnv)
- print "configmap配置信息: ${configmap_env_name}"
- def java_args = '['
- args.each{item -> java_args += "\"$item\","}
- java_args = java_args[0..-2] + ']'
- kvs = [:]
- kvs.put('<service_name>', SERVICE.name)
- kvs.put('<service_version>', SERVICE.version)
- kvs.put('<release>', base_branch)
- kvs.put('<COMMIT_SHA>', COMMIT_SHA)
- kvs.put('<imagePullSecret>', K3S.pull_secretId)
- kvs.put('<docker_image>', imageUri)
- kvs.put('<java_args>', java_args)
- if (SERVICE.health != null)
- kvs.put('<service_health>', SERVICE.health)
- kvs.put('<configmap_env_name>', configmap_env_name)
- k3sUtils.generateDeployment(kvs, 'deployment.yaml')
- k3sUtils.applyDeployment(K3S)
- }
- // Jenkins pipeline stages
- def execute(CONFIG, base_branch, closures=[:]) {
- stage('source code check out') {
-
- println "loading ${sharedLibsPath}/gitUtil.groovy..."
- def gitUtils = load "${sharedLibsPath}/gitUtil.groovy"
- COMMIT_SHA = closures.git != null ? closures.GITCLONE() : gitUtils.clone(CONFIG.git, base_branch)
- }
- stage("docker image build") {
- println "loading ${sharedLibsPath}/imageBuilder.groovy..."
- def imageBuilder = load "${sharedLibsPath}/imageBuilder.groovy"
-
- if (closures.BUILDIMAGE != null) {
- imageUri = closures.BUILDIMAGE()
- return
- }
- imageBuilder.buildJar()
- imageUri = imageBuilder.buildDockerImage(CONFIG.service, CONFIG.docker, base_branch)
- imageBuilder.cleanJar()
- }
- stage("apply K8S ConfigMaps && Deployment") {
-
- if (closures.K3SDEPLOY != null) {
- closures.K3SDEPLOY()
- return
- }
- deployWithConfigmapEnvOnly(CONFIG.service, CONFIG.k3s, base_branch, 'dev')
- }
- }
- return this
|