From 23cf4124080144bf084576f1abde748759ef0ca1 Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Sat, 13 Jan 2024 17:59:32 +0100 Subject: [PATCH] ci script --- .woodpecker.yml | 28 ++++++++++++++++++++++++++++ Dockerfile | 16 ++++++++++++++++ deployment/install-yml.tmpl | 25 +++++++++++++++++++++++++ 3 files changed, 69 insertions(+) create mode 100644 .woodpecker.yml create mode 100644 Dockerfile create mode 100644 deployment/install-yml.tmpl diff --git a/.woodpecker.yml b/.woodpecker.yml new file mode 100644 index 0000000..11a6591 --- /dev/null +++ b/.woodpecker.yml @@ -0,0 +1,28 @@ +steps: + build: + image: plugins/kaniko + settings: + repo: gitea.hottis.de/wn/locsrv + registry: + from_secret: container_registry + tags: latest,${CI_COMMIT_SHA},${CI_COMMIT_TAG} + username: + from_secret: container_registry_username + password: + from_secret: container_registry_password + dockerfile: Dockerfile + when: + - event: [push, tag] + + deploy: + image: portainer/kubectl-shell:latest + secrets: + - source: kube_config + target: KUBE_CONFIG_CONTENT + commands: + - export IMAGE_TAG=$CI_COMMIT_TAG + - printf "$KUBE_CONFIG_CONTENT" > /tmp/kubeconfig + - export KUBECONFIG=/tmp/kubeconfig + - cat ./deployment/install-yml.tmpl | sed -e 's,%IMAGETAG%,'$IMAGE_TAG','g | kubectl apply -f - + when: + - event: tag diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..cd40f89 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,16 @@ +FROM golang:1.21-alpine as builder + +RUN mkdir -p /go/src +COPY ./src/ /go/src +WORKDIR /go/src/locsrv +RUN go build -a -installsuffix nocgo -o locsrv main.go + + +FROM scratch + +ENV UDI_CONF "" + +COPY --from=builder /go/src/locsrv ./ +ENTRYPOINT ["./locsrv"] + + diff --git a/deployment/install-yml.tmpl b/deployment/install-yml.tmpl new file mode 100644 index 0000000..f86c894 --- /dev/null +++ b/deployment/install-yml.tmpl @@ -0,0 +1,25 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: homea +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: locsrv + namespace: homea + labels: + app: locsrv +spec: + replicas: 1 + selector: + matchLabels: + app: locsrv + template: + metadata: + labels: + app: locsrv + spec: + containers: + - name: locsrv + image: gitea.hottis.de/wn/locsrv:%IMAGETAG%