All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
47 lines
1.3 KiB
YAML
47 lines
1.3 KiB
YAML
when:
|
|
- event: push
|
|
branch: main
|
|
|
|
steps:
|
|
go-test:
|
|
image: golang:1.24
|
|
environment:
|
|
CGO_ENABLED: 0
|
|
GOOS: linux
|
|
GOARCH: amd64
|
|
commands:
|
|
- go test ./...
|
|
go-build:
|
|
image: golang:1.24
|
|
environment:
|
|
CGO_ENABLED: 0
|
|
GOOS: linux
|
|
GOARCH: amd64
|
|
commands:
|
|
- mkdir -p ./tmp
|
|
- go get
|
|
- echo "Building project version $(grep 'version =' main.go | cut -d'"' -f2)"
|
|
- go build -o ./tmp/learndrone ./main.go
|
|
docker-build:
|
|
image: docker:23
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- /containers/learndrone:/containers/learndrone
|
|
commands:
|
|
- VERSION=$(grep 'version =' main.go | cut -d'"' -f2)
|
|
- echo "Packing Docker image version $VERSION"
|
|
- docker build -t learndrone:$VERSION -t learndrone:latest .
|
|
- docker save learndrone:latest -o /containers/learndrone/learndrone_latest.tar
|
|
deploy:
|
|
image: docker:23
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- /containers/learndrone:/containers/learndrone
|
|
commands:
|
|
- docker load -i /containers/learndrone/learndrone_latest.tar
|
|
- rm /containers/learndrone/learndrone_latest.tar
|
|
- docker-compose down
|
|
- docker-compose up -d
|
|
|
|
|