| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- pipeline {
- agent any
- parameters {
- choice(name: 'BRANCH',choices:["release"], description: '选择需要发布的节点')
- choice(name: 'DEPLOYMENT_TYPE',choices:["upgrade"], description: '发布类型')
- }
- stages {
- stage('Example') {
- steps {
- script {
- node {
- checkout scm
- def rootDir = pwd()
- println rootDir
- def yaml2Map = load "./sharedLibs/yaml2Map.groovy"
- def stages = load "./sharedLibs/stages.k8s.groovy"
- def GLOBAL_CONFIG = yaml2Map.read('global.yaml').project
- jdk = tool name: 'openJDK8'
- env.JAVA_HOME = "${jdk}"
-
- dir("poyee-admin/DEV") {
- def PROJECT_CONFIG = yaml2Map.read('cfg.yaml').project
- def CONFIG = yaml2Map.merge(PROJECT_CONFIG, GLOBAL_CONFIG)
- CONFIG.docker.image = String.format(CONFIG.docker.image, CONFIG.service.name)
- println 'configs: ' + CONFIG
- def generateDockerfile = {->
- pathOfDockerfile='projdir'
- module = CONFIG.service.module
- module = module == null ? '' : (module[-1] == '/' ? module : module + '/')
- JAR = CONFIG.service.jar
- sh """cat > ${pathOfDockerfile}/Dockerfile<<EOF
- FROM registry.cn-shanghai.aliyuncs.com/poyee/openjdk:8-slim
- ADD ${module}target/${JAR} /app/target/${JAR}
- EOF
- """
- return pathOfDockerfile
- }
-
- String[] JAVA_ARGS = ["-Djava.security.egd=file:/dev/./urandom",
- "-Xmx1024m",
- "-Dserver.port=80",
- "-jar", "/app/target/${CONFIG.service.jar}",
- "--spring.config.location=file:/app/configs/application.yml,file:/app/configs/application-druid.yml"]
- String[] K8S_BACKUPS = []
- def action = "${params.DEPLOYMENT_TYPE}"
- if ("upgrade" == action || "upgrade:selected" == action) {
- def base_branch = "${params.BRANCH}"
- stages.upgrade(CONFIG, base_branch, K8S_BACKUPS, [
- 'GENERATEDOCKERFILE': {generateDockerfile()},
- 'K3SDEPLOY' : {stages.deployWithConfigmapEnvOnly(CONFIG.service, CONFIG.k3s, base_branch, JAVA_ARGS, "./configmap-env.ini","ahxpm")}
- ])
- }
- sh 'rm -rf projdir/skywalking-agent'
- }
- }
- }
- }
- }
- stage('Deploy') {
- steps {
- echo "Deployment approved by: ${env.APPROVED_BY}"
- }
- }
- }
- }
|