kind: pipeline type: docker name: default # -------------------------- # 共享配置(避免重复定义) # -------------------------- volumes: - name: shared-folder host: path: /root/app/drone/workspace clone: disable: true steps: - name: clone image: alpine/git:latest pull: never volumes: - name: shared-folder path: /workspace commands: - cd /workspace - pwd - git clone http://47.112.165.44:3000/seekm/prdUploader.git - name: build image: golang:1.21-alpine pull: never environment: GO111MODULE: on CGO_ENABLED: 0 volumes: - name: shared-folder path: /workspace commands: - echo "Building binary..." - cd /workspace/prdUploader - pwd - go build -o myapp -ldflags "-X main.RunMode=test -s -w" # 压缩符号表 - ls -lh myapp # # -------------------------- # # [Deploy 阶段] # # -------------------------- # - name: deploy # image: docker:24.0-cli # pull: never # volumes: # - name: docker-sock # path: /var/run/docker.sock # - name: go-build-cache # 复用之前的缓存卷(如有需要) # path: /app # environment: # DOCKER_HOST: unix:///var/run/docker.sock # 显式指定 Docker 连接 # commands: # - echo "Starting deployment..." # - docker rm -f product_uploader || true # - docker build -t prduploader:test-${DRONE_COMMIT_SHA:0:8} . # - docker run -d \ # --name product_uploader \ # -p 11000:11000 \ # --restart on-failure \ # --memory 512m \ # prduploader:test-${DRONE_COMMIT_SHA:0:8}