kind: pipeline type: docker name: default volumes: - name: docker-sock host: path: /var/run/docker.sock - name: shared-folder host: path: /root/app/drone/workspace - name: go-cache host: path: /root/app/drone/go-cache clone: disable: true steps: - name: clone image: alpine/git:latest pull: never volumes: - name: shared-folder path: /workspace commands: - cd /workspace/prdUploader - git pull - name: build image: golang:1.23.4-alpine pull: never environment: GO111MODULE: on CGO_ENABLED: 0 GOPROXY: https://goproxy.cn GOMODCACHE: /go/pkg/mod volumes: - name: shared-folder path: /workspace - name: go-cache path: /go/pkg/mod commands: - echo "Building binary..." - cd /workspace/prdUploader - pwd - echo $GOMODCACHE - go mod tidy - go build -o myapp -ldflags "-X main.RunMode=test -s -w" - echo "Building binary finished" - ls -lh myapp - name: deploy image: docker:24.0-cli pull: never volumes: - name: shared-folder path: /workspace - name: docker-sock path: /var/run/docker.sock commands: - echo "Building Docker image..." - cd /workspace/prdUploader - docker build -t prduploader:latest . - docker image prune -f - echo "Running Docker container..." - docker-compose up -d - rm -rf myapp - echo "Deployment finished"