From 36945ed796e0f01491f120fb8baec122e1b2a1be Mon Sep 17 00:00:00 2001 From: Alexandr Date: Fri, 3 Apr 2026 14:39:03 +0300 Subject: [PATCH] =?UTF-8?q?ci:=20deploy=20ref=201.7.0=20=E2=86=92=20v1.7.0?= =?UTF-8?q?=20=D0=B5=D1=81=D0=BB=D0=B8=20=D0=B2=D0=B2=D0=B5=D0=B4=D1=91?= =?UTF-8?q?=D0=BD=20semver=20=D0=B1=D0=B5=D0=B7=20=D0=BF=D1=80=D0=B5=D1=84?= =?UTF-8?q?=D0=B8=D0=BA=D1=81=D0=B0=20v?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made-with: Cursor --- .gitea/workflows/deploy.yml | 12 ++++++++++-- docs/CICD.md | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 673be85..69f78d6 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -8,7 +8,7 @@ on: workflow_dispatch: inputs: ref: - description: "Ветка или тег: main = как на Forgejo; v1.7.0 = тег. Не путать с 1.7.0 без v." + description: "main, v1.7.0 или 1.7.0 (без v подставится автоматически)." required: true default: "main" @@ -18,9 +18,17 @@ jobs: steps: - name: Определить ревизию id: pick + env: + RAW_REF: ${{ inputs.ref }} run: | if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then - echo "ref=${{ inputs.ref }}" >> "$GITHUB_OUTPUT" + R=$(printf '%s' "$RAW_REF" | tr -d '\r\n' | sed 's/^[[:space:]]*//;s/[[:space:]]*$//') + # Теги в git: v1.7.0; если ввели 1.7.0 — подставляем v (иначе checkout не находит ref). + if echo "$R" | grep -qE '^[0-9]+\.[0-9]+\.[0-9]+$'; then + echo "::notice::Указано $R без префикса v — деплой на v${R}" + R="v${R}" + fi + echo "ref=$R" >> "$GITHUB_OUTPUT" else echo "ref=${{ github.ref_name }}" >> "$GITHUB_OUTPUT" fi diff --git a/docs/CICD.md b/docs/CICD.md index a4583bb..eeb002d 100644 --- a/docs/CICD.md +++ b/docs/CICD.md @@ -92,7 +92,7 @@ curl -s http://127.0.0.1:8080/health ## Откат версии (простой процесс) 1. В Forgejo: **Actions → Deploy → Run workflow**. -2. В поле **ref** указать **старый тег**, например `v1.4.1`. +2. В поле **ref** указать **старый тег** (`v1.4.1` или для удобства просто `1.4.1` — workflow добавит `v`). 3. Запустить. На сервере выполнится `checkout` и `reset` на этот ref, затем `docker compose build && up -d`. Убедитесь, что старый тег есть в `origin` (`git push --tags` не удалялся).