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.
|
|
|
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"
|
|
|
|
|
|
|
|
|