You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

74 lines
1.9 KiB

---
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" ]