From 154de77259512be72943b5acaf21b6d8100b6182 Mon Sep 17 00:00:00 2001 From: gyurix Date: Fri, 12 Jun 2026 09:04:46 +0200 Subject: [PATCH] added network go cicd pipeline --- network-go/.drone.yml | 71 +++++++++++++++++++++++++++++++++++++++++++ network-go/Dockerfile | 24 +++++++++++++++ 2 files changed, 95 insertions(+) create mode 100644 network-go/.drone.yml create mode 100644 network-go/Dockerfile diff --git a/network-go/.drone.yml b/network-go/.drone.yml new file mode 100644 index 0000000..e6ad87e --- /dev/null +++ b/network-go/.drone.yml @@ -0,0 +1,71 @@ +--- +kind: pipeline +type: kubernetes +name: default + +node_selector: + physical-node: dev1 + +trigger: + branch: + - master + event: + - push + +workspace: + path: /drone/src/network-go + +steps: + - name: test + image: docker.io/library/golang:1.26-alpine + pull: always + commands: + - apk add --no-cache git + - cd /drone/src/network-go + - go mod download + - go test ./... -count=1 -v + + - name: build + image: docker.io/library/golang:1.26-alpine + pull: always + commands: + - apk add --no-cache git + - cd /drone/src/network-go + - go build -o network-go -ldflags="-s -w" . + + - name: build-multiarch + image: docker.io/owncloudci/drone-docker-buildx:4 + privileged: true + settings: + cache-from: + - registry.dev.format.hu/network-go + registry: registry.dev.format.hu + repo: registry.dev.format.hu/network-go + tags: latest + dockerfile: Dockerfile + context: . + username: + from_secret: dev-hu-registry-username + password: + from_secret: dev-hu-registry-password + platforms: + - linux/amd64 + - linux/arm64 + + - name: push-to-dockerhub + image: docker.io/owncloudci/drone-docker-buildx:4 + privileged: true + settings: + cache-from: + - safebox/network-go + repo: safebox/network-go + tags: latest + dockerfile: Dockerfile + context: . + username: + from_secret: dockerhub-username + password: + from_secret: dockerhub-password + platforms: + - linux/amd64 + - linux/arm64 \ No newline at end of file diff --git a/network-go/Dockerfile b/network-go/Dockerfile new file mode 100644 index 0000000..fd48096 --- /dev/null +++ b/network-go/Dockerfile @@ -0,0 +1,24 @@ +# Build stage +FROM docker.io/library/golang:1.26-alpine AS builder + +WORKDIR /build +COPY go.mod go.sum ./ +RUN go mod download + +COPY . . +RUN go build -o network-go -ldflags="-s -w" . + +# Runtime stage +FROM docker.io/library/alpine:latest + +RUN apk add --update --no-cache \ + iptables \ + iptables-legacy \ + ca-certificates \ + util-linux \ + nsenter \ + && rm -rf /var/cache/apk/* + +COPY --from=builder /build/network-go /usr/local/bin/network-go + +CMD ["/usr/local/bin/network-go"] \ No newline at end of file