| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 | 
							- def label = "jenkins-agent"
 
- podTemplate(name: label , cloud: 'kubernetes',
 
-   namespace: 'cicd', 
 
-   label: label,
 
-   serviceAccount: 'default', 
 
-   envVars: [
 
-       // JNLP_ENV环境变量需要根据实际情况修改,例如:qa pro op 
 
-       // 此处op表示,你需要将应用部署到k8s的op命名空间下
 
-       envVar(key: "JNLP_ENV", value: "op"),    
 
-       // 镜像版本号,如果是开发自己测试,可以默认;如果默认,每次更新镜像都会覆盖     
 
-       envVar(key: "JNLP_TAG", value: "v1.0.0"),
 
-       // 实际服务端口,例如resin,端口就是8080
 
-       envVar(key: "JNLP_CONTAINER_PORT", value: "8080"),
 
-       // 项目编译后生成的包名  
 
-       envVar(key: "JNLP_WAR", value: "ums.war"),
 
-       envVar(key: "JNLP_INGRESS", value: "nginx"),
 
-       // tcp服务填写: tcp; http服务填写: http(默认)
 
-       envVar(key: "JNLP_SVC_MODE", value: "http"),
 
-       // 以下是Kubernetes deploy.yaml部署文件,默认情况下不作修改,保持默认值即可 !!!
 
-       envVar(key: "JNLP_IMAGE", value: "${JOB_BASE_NAME}"),
 
-       envVar(key: "JNLP_CONTROL_NAME", value: "${JOB_BASE_NAME}"),
 
-       envVar(key: "JNLP_STORAGE_CLASS", value: "ceph"),
 
-       envVar(key: "JNLP_HUB", value: "hub.evbj.easou.com"),
 
-       envVar(key: "JNLP_DOMAIN", value: ".evbj.easou.com"),
 
-       envVar(key: "JNLP_CONTROL", value: "StatefulSet"),
 
-       envVar(key: "JNLP_REPLICAS", value: "1"),
 
-       envVar(key: "JNLP_STORAGE_CAPACITY", value: "100Gi"),
 
-       envVar(key: "JNLP_MOUNT_PATH", value: "/data/logs"),
 
-       // 容器状态健康检查,默认容器启动60秒开始检查,如果检查失败会重启容器
 
-       // 请根据服务启动时间修改检查时间
 
-       // 后liveness每隔10秒检查服务是否可用,连续3次不可用,立即重启容器
 
-       envVar(key: "JNLP_LIVENESS_INIT", value: "60"),
 
-       envVar(key: "JNLP_LIVENESS_PER", value: "10"),
 
-       // 容器服务状态健康检查,默认容器启动60秒开始检查,如果检查失败,则该pod不会被加入负载均衡器参与流量调度
 
-       // 请根据服务初始化时间修改检查时间
 
-       // 后续readiness每隔10秒检查服务是否可用,连续3次不可用,立即从负载均衡去移除
 
-       envVar(key: "JNLP_READINESS_INIT", value: "60"),
 
-       envVar(key: "JNLP_READINESS_PER", value: "10")
 
-   ],
 
-   containers: [
 
-     containerTemplate(
 
-         name: 'jnlp',
 
-         image: 'hub.evbj.easou.com/dev/jnlp-slave:v2.0.0',
 
-         ttyEnabled: true,
 
-         privileged: true,
 
-         alwaysPullImage: true), 
 
-     containerTemplate(
 
-         name: 'jnlp-slave',
 
-         image: 'hub.evbj.easou.com/dev/jenkins-slave:v3.0.0',
 
-         command: 'wrapper.sh /bin/sh',
 
-         ttyEnabled: true,
 
-         privileged: true,
 
-         alwaysPullImage: true),
 
-     containerTemplate(
 
-         name: 'kubectl',
 
-         image: 'hub.evbj.easou.com/dev/kubectl:v3.0.0',
 
-         command: '/bin/sh',
 
-         ttyEnabled: true,
 
-         privileged: true,
 
-         alwaysPullImage: true)
 
-     ],
 
- ) {
 
-   node(label) {
 
-         stage('Build') {
 
-           container('jnlp-slave') {
 
-                 deleteDir()
 
-                 checkout scm
 
-                 sh 'printenv|grep JNLP'
 
-                 sh 'docker --config /etc/docker build -t ${JNLP_HUB}/${JNLP_ENV}/${JNLP_IMAGE}:${JNLP_TAG} . -f Dockerfile'
 
-                 sh 'docker --config /etc/docker push ${JNLP_HUB}/${JNLP_ENV}/${JNLP_IMAGE}:${JNLP_TAG}'
 
-                 sh 'docker --config /etc/docker rmi ${JNLP_HUB}/${JNLP_ENV}/${JNLP_IMAGE}:${JNLP_TAG} --force'
 
-           }
 
-         }
 
-         stage('Pre Deploy') {
 
-                 input "Are you sure deploy to kubernetes ?"
 
-         }
 
-         stage('Deploy') {
 
-           container('kubectl') {
 
-               // -b 生成部署时的配置文件
 
-               sh 'python ppctl.py -b'
 
-               // -a 部署服务到kubernetes平台
 
-               sh 'python ppctl.py -a'
 
-               // -c 检查服务部署状态
 
-               sh 'python ppctl.py -c'
 
-               // -d 执行域名解析
 
-               sh 'python ppctl.py -d'
 
-           }
 
-         }
 
-     }
 
- }
 
 
  |