From 87cc629d8162782f4a1840d35324da75ec49ed11 Mon Sep 17 00:00:00 2001 From: Manus AI Date: Tue, 18 Aug 2026 08:49:16 +0000 Subject: [PATCH] fix(ci): fournir bash au runner recette local --- ops/Dockerfile.gitea-runner | 5 +++++ ops/README.md | 2 +- ops/install-gitea-act-runner.sh | 4 +++- 3 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 ops/Dockerfile.gitea-runner diff --git a/ops/Dockerfile.gitea-runner b/ops/Dockerfile.gitea-runner new file mode 100644 index 0000000..152d246 --- /dev/null +++ b/ops/Dockerfile.gitea-runner @@ -0,0 +1,5 @@ +# Image locale du runner recette. Basée sur Node 20 déjà utilisée par le dashboard, +# elle évite un téléchargement externe et fournit le shell Bash attendu par Gitea Actions. +FROM node:20-alpine + +RUN apk add --no-cache bash git diff --git a/ops/README.md b/ops/README.md index 4f4c5c3..dc3d0dc 100644 --- a/ops/README.md +++ b/ops/README.md @@ -4,7 +4,7 @@ Le script `healthcheck-apps.sh` est exécuté par le timer systemd toutes les ci Le dernier rapport est écrit dans `/var/lib/manus-apps-health/latest.txt`. Les anomalies sont aussi consignées dans le journal système avec le tag `manus-apps-health`. -Le runner de recette est installé par `install-gitea-act-runner.sh`. Il s’enregistre une fois auprès de Gitea avec un jeton éphémère, puis exécute les workflows dans un conteneur Node 22 isolé sur le réseau Docker `web`. +Le runner de recette est installé par `install-gitea-act-runner.sh`. Il construit une image locale Node 20 avec Bash, puis s’enregistre auprès de Gitea avec un jeton éphémère. Les workflows s’exécutent ensuite dans cette image isolée sur le réseau Docker `web`. Après mise à jour Git, installer ou actualiser le service avec : diff --git a/ops/install-gitea-act-runner.sh b/ops/install-gitea-act-runner.sh index 6a10d2f..6b713a8 100755 --- a/ops/install-gitea-act-runner.sh +++ b/ops/install-gitea-act-runner.sh @@ -8,12 +8,14 @@ readonly RUNNER_DIR="/opt/manus-deploy/gitea-runner" readonly GITEA_CONTAINER="gitea" readonly GITEA_URL="https://git.recette.santinova-soft.org" readonly RUNNER_NAME="recette-docker-runner" -readonly RUNNER_LABELS="ubuntu-latest:docker://node:20-alpine" +readonly RUNNER_IMAGE="gitea-runner-node:20" +readonly RUNNER_LABELS="ubuntu-latest:docker://${RUNNER_IMAGE}" readonly LABEL_FILE="${RUNNER_DIR}/labels" install -d -m 0750 "${RUNNER_DIR}" install -m 0640 "${SCRIPT_DIR}/gitea-act-runner-config.yaml" "${RUNNER_DIR}/config.yaml" install -D -m 0644 "${SCRIPT_DIR}/gitea-act-runner.service" /etc/systemd/system/gitea-act-runner.service +docker build --tag "${RUNNER_IMAGE}" --file "${SCRIPT_DIR}/Dockerfile.gitea-runner" "${APP_DIR}" # Migration unique : les versions antérieures enregistraient le runner dans APP_DIR. if [[ ! -f "${RUNNER_DIR}/.runner" && -f "${APP_DIR}/.runner" ]]; then