hubei前端jenkins

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
pipeline {
    // 选择标签为maven的模板
    agent { node { label "node" } }
    options {
        buildDiscarder(logRotator(numToKeepStr: '3'))
    }
    parameters {
          gitParameter branchFilter: 'origin/(.*)', defaultValue: 'master', name: 'BRANCH', type: 'PT_BRANCH'
          choice choices: ['hubei'], description: '请选择需要发布的名称空间', name: 'NS_NAME'
    }
    stages{
      stage('代码拉取') {
        steps {
             script {
                  checkout scmGit(branches: [[name: '${BRANCH}']], extensions: [], userRemoteConfigs: [[credentialsId: 'aliyun', url: 'https://codeup.aliyun.com/glr/cems/cems-frontend/show.git']])
                  env.BUILD_TAG = sh(returnStdout: true, script: 'git rev-parse --short HEAD').trim()
                  env.APP_NAME = sh(returnStdout: true, script: "git config -l|git config -l|grep remote.origin.url|awk -F/ '{print \$NF}'|cut -d. -f1").trim()
             }
          }
        }
      stage('代码编译') {
        steps {
             script {
                  sh "npm config set registry http://10.33.22.19:8081/repository/npm-group/"
                  sh "npm install --unsafe-perm"
                  sh "npm run build"
             }
          }
        }
      stage('镜像构建、上传') {
        steps {
             script {
                withCredentials([usernamePassword(credentialsId: 'dockerhub', passwordVariable: 'dockerHubPassword',usernameVariable: 'dockerHubUser')]) {
                sh "docker login -u ${dockerHubUser} -p ${dockerHubPassword} harbor.glroad.com:8800"
                sh "sed -i \"s/172.21.0.13:20003/cems-gateway-svc/g\" nginx.default.conf"
                sh "docker build -t harbor.glroad.com:8800/cems/${JOB_NAME}:${BUILD_TAG} ."
                sh "docker push harbor.glroad.com:8800/cems/${JOB_NAME}:${BUILD_TAG}"
             }
           }
         }
       }
      stage('部署&更新') {
        steps {
            sh'''
                   sed -i \"s/<APP_NAME>/${JOB_NAME}/g\" k8s-cems-frontend-show.yaml
                   sed -i \"s/<BUILD_TAG>/${BUILD_TAG}/g\" k8s-cems-frontend-show.yaml
                   sed -i \"s/<NS_NAME>/${NS_NAME}/g\" k8s-cems-frontend-show.yaml
                   kubectl apply -f k8s-cems-frontend-show.yaml --record
                   echo "http://10.33.22.37:`kubectl get svc -n dev|grep ${JOB_NAME}-svc|awk -F':' '{print$2}'|awk -F'/TCP' '{print $1}'`/show"
            '''
         }
       }
    }
}

  

posted @   beawh  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
历史上的今天:
2023-03-13 helm 安装指定版本的软件
2023-03-13 删除未就绪apiserver
点击右上角即可分享
微信分享提示