Explorar o código

deploy qa/redis-stream-consumer:v1.0 运行环境test

datard %!s(int64=3) %!d(string=hai) anos
pai
achega
b5fe2d1041
Modificáronse 3 ficheiros con 120 adicións e 19 borrados
  1. 93 0
      .drone.yml
  2. 1 1
      Dockerfile
  3. 26 18
      deploy-tmp.yaml

+ 93 - 0
.drone.yml

@@ -0,0 +1,93 @@
+kind: pipeline
+type: kubernetes
+name: redis-stream-consumer
+
+clone:
+  disable: true
+
+metadata:
+  namespace: drone
+
+steps:
+- name: clone
+  image: hub.evbj.easou.com/dev/alpine-git:20200622
+  commands:
+   - git clone $DRONE_GIT_HTTP_URL .
+
+- name: build
+  image: plugins/docker
+  settings:
+    username: admin
+    password: Easou2)1*
+    insecure: true
+    mirror: https://ci7pm4nx.mirror.aliyuncs.com
+    registry: hub.evbj.easou.com
+    repo: hub.evbj.easou.com/qa/redis-stream-consumer
+    tag: v1.0
+#    build_args:
+#      - JAR_FILE=redis-stream-consumer-test.jar
+#      - SERVER_PORT=8080
+
+- name: deployment
+  image: hub.evbj.easou.com/dev/drone-agent:v2.0.0
+  pull: always
+  # privileged: true
+  environment:
+    JNLP_ENV: qa
+    JNLP_REPLICAS: 1
+    JNLP_TAG: v1.0
+    JNLP_VERSION: v1  # default v1, v2 for canary
+    DEPLOY_ENV: k8s-2 # 可以选择把应用部署到集群:k8s-1 or k8s-2
+    JNLP_REPO: hub.evbj.easou.com
+    JNLP_CONTAINER_PORT: 80
+    JNLP_INGRESS: nginx
+    JNLP_SVC_MODE: http
+    JNLP_STORAGE_CLASS: rbd
+    JNLP_DOMAIN: .ieasou.cn
+    JNLP_CONTROL: StatefulSet
+    JNLP_STORAGE_CAPACITY: 100Gi
+    JNLP_MOUNT_PATH: /data
+    JNLP_LIVENESS_INIT: 30
+    JNLP_LIVENESS_PER: 15
+    JNLP_READINESS_INIT: 30
+    JNLP_READINESS_PER: 15
+    JNLP_INGRESS_PUB: no
+  commands:
+    # 切换目标集群
+    - kubecm s $DEPLOY_ENV
+    # 生成配置YAML文件
+    - python3 /root/tools.py -b
+    # 部署服务到kubernetes上
+    - python3 /root/tools.py -a
+    # 检查服务部署状态
+    - python3 /root/tools.py -c
+    # 添加dns解析记录,生成访问域名
+    - python3 /root/tools.py -d
+
+- name: success
+  image: hub.evbj.easou.com/dev/drone-wechat:20200622
+  settings:
+    corpid: ww419ee4063735e1c0
+    corp_secret: zpiRBLETH9eLwIMQ4eJ_r_dcm3BPSGeLHvTcft8Ot-M
+    agent_id: 1000004
+    title: "Pipeline qa/redis-stream-consumer:v1.0 Success"
+    description: "${DRONE_BUILD_LINK} qa/redis-stream-consumer:v1.0 部署完成"
+    msg_url: ${DRONE_BUILD_LINK}
+    btn_txt: "否"
+  when:
+    status:
+     - success
+
+- name: failure
+  image: hub.evbj.easou.com/dev/drone-wechat:20200622
+  settings:
+    corpid: ww419ee4063735e1c0
+    corp_secret: zpiRBLETH9eLwIMQ4eJ_r_dcm3BPSGeLHvTcft8Ot-M
+    agent_id: 1000004
+    title: "Pipeline qa/redis-stream-consumer:v1.0 Failure"
+    description: "${DRONE_BUILD_LINK} 部署失败,请检查配置!"
+    msg_url: ${DRONE_BUILD_LINK}
+    btn_txt: "否"
+  when:
+    status:
+     - failure

+ 1 - 1
Dockerfile

@@ -1 +1 @@
-FROM hub.evbj.easou.com/qa/offline-process-charge:v1.1.17
+FROM hub.evbj.easou.com/qa/redis-stream-consumer:v1.0

+ 26 - 18
deploy-tmp.yaml

@@ -2,20 +2,20 @@
 apiVersion: apps/v1
 kind: StatefulSet
 metadata:
-  name: offline-process-charge
+  name: redis-stream-consumer
   namespace: qa
   labels:
-    app: offline-process-charge
+    app: redis-stream-consumer
 spec:
-  serviceName: offline-process-charge
+  serviceName: redis-stream-consumer
   replicas: 1
   selector:
     matchLabels:
-      app: offline-process-charge
+      app: redis-stream-consumer
   template:
     metadata:
       labels:
-        app: offline-process-charge
+        app: redis-stream-consumer
     spec:
       terminationGracePeriodSeconds: 60
       initContainers:
@@ -29,10 +29,18 @@ spec:
       #nodeSelector:
       #  app.touchrs: touchrs
       containers:
-        - name: offline-process-charge
-          image: hub.evbj.easou.com/qa/offline-process-charge:v1.1.17
+        - name: redis-stream-consumer
+          image: hub.evbj.easou.com/qa/redis-stream-consumer:v1.0
           imagePullPolicy: Always
           env:
+            - name: MY_NODE_NAME
+              valueFrom:
+                fieldRef:
+                  fieldPath: spec.nodeName
+            - name: MY_POD_IP
+              valueFrom:
+                fieldRef:
+                  fieldPath: status.podIP
             - name: JAVA_OPTS
               value: "-server  -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8001,suspend=n  -Xmx2g -Xms2g -Xss512k -Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom -Dspring.profiles.active=test"
           ports:
@@ -78,7 +86,7 @@ spec:
       volumes:
         - name: filebeat-config
           configMap:
-            name: filebeat-config-offline-process-charge
+            name: filebeat-config-redis-stream-consumer
             items:
               - key: filebeat.yml
                 path: filebeat.yml
@@ -96,10 +104,10 @@ spec:
 apiVersion: v1
 kind: Service
 metadata:
-  name: offline-process-charge-svc
+  name: redis-stream-consumer-svc
   namespace: qa
   labels:
-    app: offline-process-charge-svc
+    app: redis-stream-consumer-svc
 spec:
   type: NodePort
   ports:
@@ -107,29 +115,29 @@ spec:
       targetPort: 8080
       name: "main"
   selector:
-    app: offline-process-charge
+    app: redis-stream-consumer
 ---
 apiVersion: extensions/v1beta1
 kind: Ingress
 metadata:
-  name: offline-process-charge-ingress
+  name: redis-stream-consumer-ingress
   namespace: qa
   annotations:
     kubernetes.io/ingress.class: nginx
 spec:
   rules:
-    - host: qa-offline-process-charge.ieasou.cn
+    - host: qa-redis-stream-consumer.ieasou.cn
       http:
         paths:
           - path: /
             backend:
-              serviceName: offline-process-charge-svc
+              serviceName: redis-stream-consumer-svc
               servicePort: 80
 ---
 apiVersion: v1
 kind: ConfigMap
 metadata:
-  name: filebeat-config-offline-process-charge
+  name: filebeat-config-redis-stream-consumer
   namespace: qa
 data:
   filebeat.yml: |
@@ -142,14 +150,14 @@ data:
       multiline.match: after
       multiline.timeout: 30
       fields:
-          log_topic: offline-process-charge
+          log_topic: redis-stream-consumer
       fields_under_root: true
       paths:
         - "/data/logs/app/*.log"
         - "/data/logs/*.log"
     setup.template.enabled: true
-    setup.template.name: offline-process-charge
-    setup.template.pattern: offline-process-charge*
+    setup.template.name: redis-stream-consumer
+    setup.template.pattern: redis-stream-consumer*
     setup.dashboards.enabled: true
     output.kafka:
       version: 0.10.2.1