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.
 
 

60 lines
1.4 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:
- echo "hello world"
when:
target: [ "test","pre" ]
- name: prod-deploy
image: alpine:3.10
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" ]