feat: docker action

This commit is contained in:
ange 2024-05-10 11:59:11 +02:00
parent 31fc935e0a
commit bf8fbe74f6
Signed by: ange
GPG Key ID: 9E0C4157BB7BEB1D
4 changed files with 27 additions and 14 deletions

19
Dockerfile Normal file
View File

@ -0,0 +1,19 @@
FROM debian:12-slim as kubectl
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
curl \
&& rm -rf /var/lib/apt/lists/*
RUN V="$(curl -sSL https://dl.k8s.io/release/stable.txt)" \
&& curl -Lo /kubectl "https://dl.k8s.io/release/$V/bin/linux/amd64/kubectl"
FROM debian:12-slim
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
COPY --from=kubectl --chmod=0755 /kubectl /usr/local/bin/
COPY k8sdeploy.sh /usr/local/bin/
RUN useradd -m app
USER app
ENTRYPOINT ["k8sdeploy.sh"]

View File

@ -1 +1 @@
# checkout@v1
# k8sdeploy@v1

View File

@ -9,11 +9,5 @@ inputs:
description: Registry password
runs:
using: composite
steps:
- name: k8sdeploy
run: ${{ gitea.action_path }}/k8sdeploy.sh
env:
ACTION_KUBECONFIG: ${{ inputs.kubeconfig }}
ACTION_REGISTRY_USERNAME: ${{ inputs.registry_username }}
ACTION_REGISTRY_PASSWORD: ${{ inputs.registry_password }}
using: docker
image: Dockerfile

View File

@ -9,19 +9,19 @@ REGISTRY="${IMAGEAPP%%/*}"
NS="${GITHUB_REPOSITORY#*/}-${GITHUB_REF_NAME}"
mkdir -p "$HOME/.kube/"
echo "$ACTION_KUBECONFIG" > "$HOME/.kube/config"
echo "$INPUT_KUBECONFIG" > "$HOME/.kube/config"
kubectl get namespace "$NS" || kubectl create namespace "$NS"
kubectl config set-context --current --namespace="$NS"
if [ -n "$ACTION_REGISTRY_PASSWORD" ]; then
if [ -n "$INPUT_REGISTRY_PASSWORD" ]; then
kubectl get secret regcred \
|| kubectl create secret docker-registry regcred \
--docker-server="$REGISTRY" \
--docker-username="$ACTION_REGISTRY_USERNAME" \
--docker-password="$ACTION_REGISTRY_PASSWORD"
--docker-username="$INPUT_REGISTRY_USERNAME" \
--docker-password="$INPUT_REGISTRY_PASSWORD"
fi
if [ "$GITHUB_REF_NAME" == prod ] || [ "$GITHUB_REF_NAME" == staging ]; then
if [ "$GITHUB_REF_NAME" = prod ] || [ "$GITHUB_REF_NAME" = staging ]; then
./manifests/bin/prod.sh
else
./manifests/bin/devel.sh