From 77fce988d7b4baa2f785ab605b18dbc0edb0b0c4 Mon Sep 17 00:00:00 2001 From: viewit Date: Thu, 25 Jun 2026 12:54:02 +0200 Subject: [PATCH] ci: Docker CLI als statisches Binary installieren (Alpine-kompatibel) --- .gitea/workflows/nightly.yml | 23 ++++++++++++++--------- .gitea/workflows/release.yml | 23 ++++++++++++++--------- 2 files changed, 28 insertions(+), 18 deletions(-) diff --git a/.gitea/workflows/nightly.yml b/.gitea/workflows/nightly.yml index 3b626f7..bf253f0 100644 --- a/.gitea/workflows/nightly.yml +++ b/.gitea/workflows/nightly.yml @@ -31,15 +31,20 @@ jobs: - name: Install Docker CLI run: | if ! command -v docker &>/dev/null; then - apt-get update -qq - apt-get install -y -qq ca-certificates curl - install -m 0755 -d /etc/apt/keyrings - curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc - chmod a+r /etc/apt/keyrings/docker.asc - echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" \ - > /etc/apt/sources.list.d/docker.list - apt-get update -qq - apt-get install -y -qq docker-ce-cli docker-buildx-plugin + ARCH=$(uname -m) + case "$ARCH" in + x86_64) ARCH=x86_64 ;; + aarch64) ARCH=aarch64 ;; + esac + DOCKER_VER=$(curl -fsSL https://download.docker.com/linux/static/stable/${ARCH}/ | grep -oP 'docker-\K[0-9]+\.[0-9]+\.[0-9]+' | sort -V | tail -1) + curl -fsSL "https://download.docker.com/linux/static/stable/${ARCH}/docker-${DOCKER_VER}.tgz" | tar xz --strip-components=1 -C /usr/local/bin docker/docker + chmod +x /usr/local/bin/docker + # buildx plugin + BUILDX_VER=$(curl -fsSL https://api.github.com/repos/docker/buildx/releases/latest | grep -oP '"tag_name": "v\K[^"]+') + mkdir -p /usr/local/lib/docker/cli-plugins + curl -fsSL "https://github.com/docker/buildx/releases/download/v${BUILDX_VER}/buildx-v${BUILDX_VER}.linux-${ARCH/x86_64/amd64}" \ + -o /usr/local/lib/docker/cli-plugins/docker-buildx + chmod +x /usr/local/lib/docker/cli-plugins/docker-buildx fi docker version --format '{{.Client.Version}}' diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index a913bb6..4888ffc 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -23,15 +23,20 @@ jobs: - name: Install Docker CLI run: | if ! command -v docker &>/dev/null; then - apt-get update -qq - apt-get install -y -qq ca-certificates curl - install -m 0755 -d /etc/apt/keyrings - curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc - chmod a+r /etc/apt/keyrings/docker.asc - echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" \ - > /etc/apt/sources.list.d/docker.list - apt-get update -qq - apt-get install -y -qq docker-ce-cli docker-buildx-plugin + ARCH=$(uname -m) + case "$ARCH" in + x86_64) ARCH=x86_64 ;; + aarch64) ARCH=aarch64 ;; + esac + DOCKER_VER=$(curl -fsSL https://download.docker.com/linux/static/stable/${ARCH}/ | grep -oP 'docker-\K[0-9]+\.[0-9]+\.[0-9]+' | sort -V | tail -1) + curl -fsSL "https://download.docker.com/linux/static/stable/${ARCH}/docker-${DOCKER_VER}.tgz" | tar xz --strip-components=1 -C /usr/local/bin docker/docker + chmod +x /usr/local/bin/docker + # buildx plugin + BUILDX_VER=$(curl -fsSL https://api.github.com/repos/docker/buildx/releases/latest | grep -oP '"tag_name": "v\K[^"]+') + mkdir -p /usr/local/lib/docker/cli-plugins + curl -fsSL "https://github.com/docker/buildx/releases/download/v${BUILDX_VER}/buildx-v${BUILDX_VER}.linux-${ARCH/x86_64/amd64}" \ + -o /usr/local/lib/docker/cli-plugins/docker-buildx + chmod +x /usr/local/lib/docker/cli-plugins/docker-buildx fi docker version --format '{{.Client.Version}}'