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

3 years ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
  1. ---
  2. kind: pipeline
  3. type: docker
  4. name: default
  5. volumes:
  6. - name: gopath
  7. host:
  8. path: /usr/local/path/gopath
  9. steps:
  10. - name: golang-build
  11. image: golang:1.17-alpine3.15
  12. volumes:
  13. - name: gopath
  14. path: /go
  15. commands:
  16. - export GOPROXY=https://goproxy.cn
  17. - go mod init test-drone
  18. - go mod tidy
  19. - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o test-drone
  20. when:
  21. target: [ "test","pre" ]
  22. # - name: docker-build
  23. # image: plugins/docker
  24. # privileged: true
  25. # settings:
  26. # username: tjqmhu
  27. # password: tjqm4912
  28. # repo: registry.cn-hangzhou.aliyuncs.com/huvipg/test-drone
  29. # dockerfile: Dockerfile
  30. # registry: https://registry.cn-hangzhou.aliyuncs.com
  31. # tags: ${DRONE_BUILD_NUMBER}
  32. # when:
  33. # target: [ "test","pre" ]
  34. - name: prod deploy
  35. when:
  36. condition: ${DRONE_DEPLOY_ENABLED}
  37. environment:
  38. ENVIRONMENT: hi
  39. - name: tar-prod-push
  40. privileged: true
  41. image: registry.cn-hangzhou.aliyuncs.com/hvp/dpr:75
  42. settings:
  43. tar: ops-api-${DRONE_BUILD_NUMBER}.tar
  44. commands:
  45. - docker pull ${IMAGE}
  46. - docker save ${IMAGE} >ops-api-${DRONE_BUILD_NUMBER}.tar
  47. - dpr
  48. - suffix=$(echo "$IMAGE" | awk -F '/' '{split($NF, a, ":"); print a[2]}')
  49. - docker images | grep "ops-api" | grep ${suffix} | awk '{print $3}' | xargs docker rmi
  50. when:
  51. target: [ "hi","prod" ]
  52. - name: deployment-replace-prod
  53. image: repository.241210.com/repository/base/kubectl:4
  54. commands:
  55. - cd web/
  56. - sed -i 's!IMAGE_PATH:IMAGE_TAG!'${IMAGE}'!g' deployment.yaml
  57. when:
  58. target: [ "exp","prod" ]
  59. - name: deploy-prod
  60. image: repository.241210.com/repository/base/kubectl:4
  61. commands:
  62. - cd web/
  63. - kubectl --kubeconfig /kube/${CI_BUILD_TARGET} apply -f deployment.yaml
  64. when:
  65. target: [ "exp","prod" ]