--- kind: pipeline type: docker name: default volumes: - name: gopath host: path: /usr/local/path/gopath steps: - name: golang-build image: golang 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: [ "" ] - name: docker-push image: plugins/docker 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: [ "" ] - name: rancher-deploy image: peloton/drone-rancher url: https://121.40.194.123:8443/ access_key: token-qqrhk secret_key: wt46cz8x8xqz5t7x27htzdc46tscvpnzwzlj9gp99j2cbdrqhtcj25 service: pre/drone-test # 为了使rancher能拉取到私有镜像, 需要在rancher控制面板"基础架构->镜像库"添加这个私有镜像库 docker_image: registry.cn-hangzhou.aliyuncs.com/huvipg/test-drone:${DRONE_BUILD_NUMBER} # 镜像地址及版本号 start_first: true # 先启动新服务, 后停止原服务. 如果为false则先关闭原服务再启动 confirm: true timeout: 100 # 如果rancher没在这个时间内升级成功则报错, 服务大小等差异会导致升级时间不一样, 可根据自己业务修改超时时间. # image: pelotech/drone-rancher # drone-rancher插件,利用此插件来启动rancher # settings: # url: 'http://121.40.194.123:8082/v3' # access_key: token-qqrhk # secret_key: wt46cz8x8xqz5t7x27htzdc46tscvpnzwzlj9gp99j2cbdrqhtcj25 # service: registry.cn-hangzhou.aliyuncs.com # docker_image: registry.cn-hangzhou.aliyuncs.com/huvipg/test-drone:${DRONE_BUILD_NUMBER} # 镜像地址及版本号 # start_first: false # confirm: true # timeout: 301 # ## 使用参数推送稳定镜像 # - name: deployment-replace-prod # image: repository.241210.com/repository/base/kubectl:4 # commands: # - sed -i 's!IMAGE_PATH:IMAGE_TAG!'${IMAGE}'!g' deployment.yaml # when: # target: [ "pre","prod" ] # # - name: deploy-prod # image: repository.241210.com/repository/base/kubectl:4 # commands: # - kubectl --kubeconfig /kube/${CI_BUILD_TARGET} apply -f deployment.yaml # when: # target: [ "pre","prod" ]