Add CI/CD pipeline configuration for building and publishing weatherfeeder.
This commit is contained in:
33
.woodpecker.yml
Normal file
33
.woodpecker.yml
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
steps:
|
||||||
|
build:
|
||||||
|
image: golang:1.22
|
||||||
|
commands:
|
||||||
|
- go mod edit -dropreplace gitea.maximumdirect.net/ejr/feedkit
|
||||||
|
- mkdir -p dist
|
||||||
|
- CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -trimpath -ldflags "-s -w" -o dist/weatherfeeder ./cmd/weatherfeeder
|
||||||
|
- |
|
||||||
|
cat > Dockerfile.ci <<'EOF'
|
||||||
|
FROM alpine:3.19
|
||||||
|
RUN adduser -D -H app \
|
||||||
|
&& apk add --no-cache ca-certificates
|
||||||
|
COPY dist/weatherfeeder /usr/local/bin/weatherfeeder
|
||||||
|
USER app
|
||||||
|
ENTRYPOINT ["/usr/local/bin/weatherfeeder"]
|
||||||
|
EOF
|
||||||
|
|
||||||
|
publish:
|
||||||
|
image: plugins/docker
|
||||||
|
privileged: true
|
||||||
|
settings:
|
||||||
|
registry: harbor.maximumdirect.net
|
||||||
|
repo: harbor.maximumdirect.net/build/weatherfeeder
|
||||||
|
tags:
|
||||||
|
- ${CI_COMMIT_SHA}
|
||||||
|
- latest
|
||||||
|
dockerfile: Dockerfile.ci
|
||||||
|
context: .
|
||||||
|
depends_on:
|
||||||
|
- build
|
||||||
|
when:
|
||||||
|
branch: main
|
||||||
|
event: push
|
||||||
Reference in New Issue
Block a user