Brc's blog
首页
前端
后端
运维
  • 工作笔记
  • 分类
  • 标签
  • 归档
关于

Brc

努力中
首页
前端
后端
运维
  • 工作笔记
  • 分类
  • 标签
  • 归档
关于
  • 工具安装

  • AWS

  • EKS

    • 扩缩容

    • 存储

    • devops

    • test

    • CICD

      • 凭证
      • 配置字典
      • 存储卷
      • java
      • crm
        • Jenkinsfile
      • front
      • upload-to-gcs
    • 问题
  • 其他

  • AWS创建EKS集群
  • 谷歌云创建GKE集群
  • 工作笔记
  • EKS
  • CICD
Brc
2023-06-11
目录

crm

# Jenkinsfile

pipeline {
  agent {
    kubernetes {
      label 'crm-new'
      yaml '''apiVersion: v1
kind: Pod
spec:
  containers:
  - name: "node14"
    image: "node:14"
    command: [\'cat\']
    tty: true
    volumeMounts:
    - mountPath: "/home/jenkins/aws"
      name: "aws-data-volume"
      readOnly: false
    - mountPath: "/home/jenkins/send_dingding.sh"
      name: "dingding-script-volume"
      subPath: "send_dingding.sh"
    - mountPath: "/root/.aws/config"
      name: "config-volume"
      subPath: "config"
    - mountPath: "/root/.aws/credentials"
      name: "config-volume"
      subPath: "credentials"
    - mountPath: "/var/run/docker.sock"
      name: "volume-0"
      readOnly: false
    - mountPath: "/home/jenkins/agent"
      name: "workspace-volume"
      readOnly: false
  nodeSelector:
    env: devops
  volumes:
  - name: "aws-data-volume"
    persistentVolumeClaim:
      claimName: "birenchong-aws-data-pvc"
  - hostPath:
      path: "/var/run/docker.sock"
    name: "volume-0"
  - emptyDir:
      medium: ""
    name: "workspace-volume"
  - configMap:
      items:
      - key: "aws-config"
        path: "config"
      - key: "aws-credentials"
        path: "credentials"
      name: "birenchong-eks-config"
    name: "config-volume"
  - configMap:
      items:
      - key: "send_dingding.sh"
        path: "send_dingding.sh"
      name: "birenchong-jenkins-dingding-script"
    name: "dingding-script-volume"
'''
    }

  }
  stages {

    stage('构建') {
      agent none
      steps {
        container('node14') {
          sh 'npm install'
          sh 'npm run build'
        }

      }
    }

    stage('配置aws凭证') {
      agent none
      steps {
        container('node14') {
          sh 'cp /home/jenkins/aws/awscliv2.zip .'
          sh 'unzip awscliv2.zip'
          sh './aws/install'
        }

      }
    }

    stage('推送到S3') {
      agent none
      when {
        branch 'dev'
      }
      steps {
        container('node14') {
          sh 'aws s3 sync public/ s3://test-crm.birenchong.cn/'
        }

      }
    }

  }

  environment {
    APP_NAME = 'crm'
  }

  post {
    success {
      container('node14') {
        sh 'bash /home/jenkins/send_dingding.sh "构建成功" "https://test-crm.birenchong.cn"'
      }
    }

    failure {
      container('node14') {
        sh 'bash /home/jenkins/send_dingding.sh "构建失败"'
      }
    }

    aborted {
      container('base') {
        sh 'bash /home/jenkins/send_dingding.sh "取消构建"'
      }
    }
  }

}

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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#CICD
Last Updated: 2023/11/08, 14:45:54
java
front

← java front→

最近更新
01
谷歌云创建GKE集群
07-26
02
ElastiCacheForRedis启用密码
07-26
03
upload-to-gcs
06-29
更多文章>
Theme by Vdoing | Copyright © 2021-2024 Brc | MIT License | 浙ICP备19031881号-4
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式