--- kind: pipeline type: docker name: default volumes: - name: gopath host: path: /usr/local/path/gopath steps: - name: golang-build image: golang:1.17-alpine3.15 volumes: - name: gopath path: /go commands: - echo "hello world" when: target: [ "test","pre" ] - name: prod-deploy when: condition: ${DRONE_DEPLOY_ENABLED} target: [ "test","pre" ] environment: ENVIRONMENT: "hi" - name: tar-prod-push privileged: true image: registry.cn-hangzhou.aliyuncs.com/hvp/dpr:75 settings: tar: ops-api-${DRONE_BUILD_NUMBER}.tar commands: - docker pull ${IMAGE} - docker save ${IMAGE} >ops-api-${DRONE_BUILD_NUMBER}.tar - dpr - suffix=$(echo "$IMAGE" | awk -F '/' '{split($NF, a, ":"); print a[2]}') - docker images | grep "ops-api" | grep ${suffix} | awk '{print $3}' | xargs docker rmi when: target: [ "hi","prod" ] - name: deployment-replace-prod image: repository.241210.com/repository/base/kubectl:4 commands: - cd web/ - sed -i 's!IMAGE_PATH:IMAGE_TAG!'${IMAGE}'!g' deployment.yaml when: target: [ "exp","prod" ] - name: deploy-prod image: repository.241210.com/repository/base/kubectl:4 commands: - cd web/ - kubectl --kubeconfig /kube/${CI_BUILD_TARGET} apply -f deployment.yaml when: target: [ "exp","prod" ]