This commit is contained in:
@@ -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
|
||||||
@@ -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"]
|
||||||
Reference in New Issue
Block a user