kind: pipeline type: docker name: metis platform: os: linux arch: arm64 steps: - name: build-jar image: 10.7.127.190:38080/maven:3.8.5-openjdk-17 volumes: - name: maven-cache path: /root/.m2 commands: - mvn clean package -DskipTests=true - name: build-docker image: 10.7.127.190:38080/docker/docker volumes: - name: docker path: /var/run/docker.sock environment: DOCKER_USERNAME: from_secret: docker_username DOCKER_PASSWORD: from_secret: docker_password REGISTRY: from_secret: registry commands: - sed -i 's/$REGISTRY/'"$REGISTRY"'/' deployment.yml - sed -i 's/$REGISTRY_NAMESPACE/'"metis"'/' deployment.yml - sed -i 's/$DRONE_COMMIT/${DRONE_COMMIT}/' deployment.yml - sed -i 's/$DRONE_REPO_NAME/${DRONE_REPO_NAME}/' deployment.yml - echo $DOCKER_PASSWORD | docker login $REGISTRY --username $DOCKER_USERNAME --password-stdin - sh docker.sh - docker rmi -f $(docker images | grep $DRONE_REPO_NAME | awk '{print $3}') - name: deploy image: bitnami/kubectl:1.26.13-debian-11-r1 volumes: - name: config path: /app/config commands: - kubectl apply -f deployment.yml -n metis --kubeconfig=/app/config/base-taishan-kubectl.yml - name: notify image: 10.7.127.190:38080/plugins/webhook:latest environment: NOTIFY_WX_URL: from_secret: notify_wx_url when: status: [ success,failure ] settings: urls: from_secret: notify_wx_url content_type: application/json template: | { "msgtype": "markdown", "markdown": { "content": "{{#success build.status}}✅ 构建成功{{else}}❌ 构建失败{{/success}} >**项目名称**: #{{ repo.name }} >**构建编号**: #{{build.number}} >**构建状态**: {{build.status}} >**代码分支**: {{build.branch}} >**提交哈希**: {{build.commit}} >**提交作者**: {{build.author}} >**提交信息**: {{build.message}} >[查看构建详情]({{build.link}}) >{{^success build.status}}[查看失败日志]({{build.link}}/logs){{/success}}" } } volumes: - name: config host: path: /home/kubect - name: maven-cache host: path: /home/data/maven/cache - name: docker host: path: /var/run/docker.sock trigger: branch: - test