Blame view

script/jenkins/Jenkinsfile 2.21 KB
2f252ffd   王彪总   feat(pay): 实现支付宝支...
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
55
56
57
58
59
60
  #!groovy
  pipeline {
  
      agent any
  
      parameters {
          string(name: 'TAG_NAME', defaultValue: '', description: '')
      }
  
      environment {
          // DockerHub 凭证 ID(登录您的 DockerHub)
          DOCKER_CREDENTIAL_ID = 'dockerhub-id'
          //  GitHub 凭证 ID (推送 tag 到 GitHub 仓库)
          GITHUB_CREDENTIAL_ID = 'github-id'
          // kubeconfig 凭证 ID (访问接入正在运行的 Kubernetes 集群)
          KUBECONFIG_CREDENTIAL_ID = 'demo-kubeconfig'
          // 镜像的推送
          REGISTRY = 'docker.io'
          //  DockerHub 账号名
          DOCKERHUB_NAMESPACE = 'docker_username'
          // GitHub 账号名
          GITHUB_ACCOUNT = 'https://gitee.com/zhijiantianya/ruoyi-vue-pro'
          // 应用名称
          APP_NAME = 'urbanops-server'
          // 应用部署路径
          APP_DEPLOY_BASE_DIR = '/media/pi/KINGTON/data/work/projects/'
      }
  
      stages {
          stage('检出') {
              steps {
                  git url: "https://gitee.com/will-we/ruoyi-vue-pro.git",
                          branch: "devops"
              }
          }
  
          stage('构建') {
              steps {
                  // TODO 解决多环境链接、密码不同配置临时方案
                  sh 'if [ ! -d "' + "${env.HOME}" + '/resources" ];then\n' +
                          '  echo "配置文件不存在无需修改"\n' +
                          'else\n' +
                          '  cp  -rf  ' + "${env.HOME}" + '/resources/*.yaml ' + "${env.APP_NAME}" + '/src/main/resources\n' +
                          '  echo "配置文件替换"\n' +
                          'fi'
                  sh 'mvn clean package -Dmaven.test.skip=true'
              }
          }
  
          stage('部署') {
              steps {
                  sh 'cp -f ' + ' bin/deploy.sh ' + "${env.APP_DEPLOY_BASE_DIR}" + "${env.APP_NAME}"
                  sh 'cp -f ' + "${env.APP_NAME}" + '/target/*.jar ' + "${env.APP_DEPLOY_BASE_DIR}" + "${env.APP_NAME}" +'/build/'
                  archiveArtifacts "${env.APP_NAME}" + '/target/*.jar'
                  sh 'chmod +x ' + "${env.APP_DEPLOY_BASE_DIR}" + "${env.APP_NAME}" + '/deploy.sh'
                  sh 'bash ' + "${env.APP_DEPLOY_BASE_DIR}" + "${env.APP_NAME}" + '/deploy.sh'
              }
          }
      }
  }