--- 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: - export GOPROXY=https://goproxy.cn - go mod init test-drone - go mod tidy - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o test-drone when: target: [ "test","pre" ] # - name: docker-build # image: plugins/docker # privileged: true # settings: # username: tjqmhu # password: tjqm4912 # repo: registry.cn-hangzhou.aliyuncs.com/huvipg/test-drone # dockerfile: Dockerfile # registry: https://registry.cn-hangzhou.aliyuncs.com # tags: ${DRONE_BUILD_NUMBER} # when: # target: [ "test","pre" ] - name: prod deploy when: condition: ${DRONE_DEPLOY_ENABLED} 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" ]