From af7c07396a820e07439bdd028ce1df5597ee354a Mon Sep 17 00:00:00 2001 From: "S.Gromov" Date: Sun, 29 Mar 2026 07:22:07 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=B0=D0=B3=D1=80=D0=B5=D1=81=D1=81?= =?UTF-8?q?=D0=B8=D0=B2=D0=BD=D0=B0=D1=8F=20=D0=BE=D1=87=D0=B8=D1=81=D1=82?= =?UTF-8?q?=D0=BA=D0=B0=20Docker-=D0=BE=D0=B1=D1=80=D0=B0=D0=B7=D0=BE?= =?UTF-8?q?=D0=B2=20=D0=BF=D1=80=D0=B8=20=D0=B4=D0=B5=D0=BF=D0=BB=D0=BE?= =?UTF-8?q?=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Сохраняется ID старого образа и удаляется после pull нового - Добавлена очистка dangling-образов, неиспользуемых образов проекта и build-кеша - Убрана остановка старого контейнера frontend-style-guide --- .gitea/workflows/ci.yml | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 4617adf..74a668e 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -78,20 +78,27 @@ jobs: # Логин в реестр echo '${{ secrets.CR_TOKEN }}' | docker login ${{ env.DOCKER_REGISTRY }} -u '${{ secrets.CR_USER }}' --password-stdin - # Скачать образ - docker pull "$IMAGE" + # Сохранить ID текущего образа до pull + OLD_IMAGE_ID=$(docker images -q "$IMAGE" 2>/dev/null || true) - # Остановить старый контейнер (если переименован) - docker stop "frontend-style-guide" 2>/dev/null || true - docker rm "frontend-style-guide" 2>/dev/null || true + # Скачать новый образ + docker pull "$IMAGE" # Перезапустить контейнер docker stop "$CONTAINER" 2>/dev/null || true docker rm "$CONTAINER" 2>/dev/null || true docker run -d --name "$CONTAINER" --network web --restart unless-stopped "$IMAGE" - # Очистка старых образов + # Удалить старый образ если он отличается от нового + NEW_IMAGE_ID=$(docker images -q "$IMAGE") + if [ -n "$OLD_IMAGE_ID" ] && [ "$OLD_IMAGE_ID" != "$NEW_IMAGE_ID" ]; then + docker rmi "$OLD_IMAGE_ID" 2>/dev/null || true + fi + + # Очистка: dangling-образы, неиспользуемые volumes, build-кеш + docker image prune -af --filter "label=org.opencontainers.image.title=$CONTAINER" docker image prune -f + docker builder prune -f 2>/dev/null || true # Статус docker ps --filter "name=$CONTAINER"