| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- def applyConfigMapEnv(Object SERVICE, Object K3S, String configMapPath='projdir/configmap-env') {
- configmap_env_name = "${SERVICE.name}${SERVICE.version}-env"
- configmap_env = 'coresvc-configmap-env.yaml'
- sh "/k3s/kubectl create configmap ${configmap_env_name} --dry-run=client --from-env-file=${configMapPath} -o yaml > ${configmap_env}"
- sh "/k3s/kubectl --kubeconfig ${env.WORKSPACE}/${K3S.kubeconfig} apply -f ${configmap_env}"
- }
- def applyConfigMap(Object SERVICE, Object K3S, String configMapPath = './configmap/') {
- configmap_name = "${SERVICE.name}${SERVICE.version}-config"
- configmap_file = "${SERVICE.name}-configmap.yaml"
- sh "/k3s/kubectl create configmap ${configmap_name} --dry-run=client --from-file=${configMapPath} -o yaml > ${configmap_file}"
- sh "/k3s/kubectl --kubeconfig ${env.WORKSPACE}/${K3S.kubeconfig} apply -f ${configmap_file}"
- }
- def applyDeployment(Object SERVICE, Object K3S, Object DOCKER,
- String release, String COMMIT_SHA, String base_branch, String args) {
- // NO configmap_file
- sh """cat > deployment.yml<<EOF
- apiVersion: apps/v1
- kind: Deployment
- metadata:
- name: ${SERVICE.name}${SERVICE.version}
- namespace: default
- spec:
- selector:
- matchLabels:
- app: ${SERVICE.name}${SERVICE.version}
- release: ${release}
- template:
- metadata:
- labels:
- app: ${SERVICE.name}${SERVICE.version}
- release: ${release}
- annotations:
- commit-sha: "${COMMIT_SHA}"
- spec:
- imagePullSecrets:
- - name: ${K3S.pull_secretId}
- containers:
- - name: ${SERVICE.name}${SERVICE.version}
- image: ${DOCKER.registry}/${DOCKER.image}:${base_branch}-${env.BUILD_NUMBER}
- command: ["java"]
- args: ${args}
- resources:
- limits:
- cpu: ${K3S.cpu_limits}
- requests:
- cpu: ${K3S.cpu_requests}
- readinessProbe:
- httpGet:
- path: ${SERVICE.health}
- port: 80
- initialDelaySeconds: 15
- periodSeconds: 30
- failureThreshold: 3
- ports:
- - name: http
- containerPort: 80
- envFrom:
- - configMapRef:
- name: ${configmap_env_name}
- EOF
- """
- sh "/k3s/kubectl --kubeconfig ${env.WORKSPACE}/${K3S.kubeconfig} apply -f deployment.yml"
- }
- def applyDeploymentWithConfig(Object SERVICE, Object K3S, Object DOCKER,
- String release, String COMMIT_SHA, String base_branch, String args) {
- // else NEED to import configmap_file
- sh """cat > deployment.yml<<EOF
- apiVersion: apps/v1
- kind: Deployment
- metadata:
- name: ${SERVICE.name}${SERVICE.version}
- namespace: default
- spec:
- selector:
- matchLabels:
- app: ${SERVICE.name}${SERVICE.version}
- release: ${release}
- template:
- metadata:
- labels:
- app: ${SERVICE.name}${SERVICE.version}
- release: ${release}
- annotations:
- commit-sha: "${COMMIT_SHA}"
- spec:
- imagePullSecrets:
- - name: ${K3S.pull_secretId}
- containers:
- - name: ${SERVICE.name}${SERVICE.version}
- image: ${DOCKER.registry}/${DOCKER.image}:${base_branch}-${env.BUILD_NUMBER}
- command: ["java"]
- args: ${args}
- resources:
- limits:
- cpu: ${K3S.cpu_limits}
- requests:
- cpu: ${K3S.cpu_requests}
- readinessProbe:
- httpGet:
- path: /health
- port: 80
- initialDelaySeconds: 15
- periodSeconds: 30
- failureThreshold: 3
- ports:
- - name: http
- containerPort: 80
- envFrom:
- - configMapRef:
- name: ${configmap_env_name}
- volumeMounts:
- - name: config-volume
- mountPath: /app/configs
- volumes:
- - name: config-volume
- configMap:
- name: ${configmap_name}
- EOF
- """
- sh "/k3s/kubectl --kubeconfig ${env.WORKSPACE}/${K3S.kubeconfig} apply -f deployment.yml"
- }
- return this
|