kind: pipeline
type: docker
name: default

volumes:
  - 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
      - 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
      GOPROXY: https://proxy.golang.org
      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
      - echo $GOPATH
      #      - 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:latest
    pull: never
    volumes:
      - name: shared-folder
        path: /workspace
    commands:
      - echo "Building Docker image..."
      - cd /workspace/prdUploader
      - docker build -t prduploader:latest .
      - echo "Running Docker container..."
      - docker run -d -p 11000:11000 prduploader:latest
      - echo "Deployment finished"