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.

75 lines
1.7 KiB

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
- 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://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 "Checking for running container..."
- |
docker ps --filter "ancestor=prduploader:latest" -q | xargs -I {} docker stop {} && docker rm {}
- echo "Building Docker image..."
- cd /workspace/prdUploader
- docker rmi prduploader:latest || true
- docker build -t prduploader:latest .
- echo "Running Docker container..."
- docker run -d -p 11000:11000 prduploader:latest
- echo "Deployment finished"
- cd ..
- rm -rf prdUploader