fix(ci): fournir bash au runner recette local
This commit is contained in:
5
ops/Dockerfile.gitea-runner
Normal file
5
ops/Dockerfile.gitea-runner
Normal file
@@ -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
|
||||||
@@ -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 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 :
|
Après mise à jour Git, installer ou actualiser le service avec :
|
||||||
|
|
||||||
|
|||||||
@@ -8,12 +8,14 @@ readonly RUNNER_DIR="/opt/manus-deploy/gitea-runner"
|
|||||||
readonly GITEA_CONTAINER="gitea"
|
readonly GITEA_CONTAINER="gitea"
|
||||||
readonly GITEA_URL="https://git.recette.santinova-soft.org"
|
readonly GITEA_URL="https://git.recette.santinova-soft.org"
|
||||||
readonly RUNNER_NAME="recette-docker-runner"
|
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"
|
readonly LABEL_FILE="${RUNNER_DIR}/labels"
|
||||||
|
|
||||||
install -d -m 0750 "${RUNNER_DIR}"
|
install -d -m 0750 "${RUNNER_DIR}"
|
||||||
install -m 0640 "${SCRIPT_DIR}/gitea-act-runner-config.yaml" "${RUNNER_DIR}/config.yaml"
|
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
|
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.
|
# Migration unique : les versions antérieures enregistraient le runner dans APP_DIR.
|
||||||
if [[ ! -f "${RUNNER_DIR}/.runner" && -f "${APP_DIR}/.runner" ]]; then
|
if [[ ! -f "${RUNNER_DIR}/.runner" && -f "${APP_DIR}/.runner" ]]; then
|
||||||
|
|||||||
Reference in New Issue
Block a user