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