ci: deploy ref 1.7.0 → v1.7.0 если введён semver без префикса v
All checks were successful
CI / test (push) Successful in 37s
All checks were successful
CI / test (push) Successful in 37s
Made-with: Cursor
This commit is contained in:
@ -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
|
||||
|
||||
@ -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` не удалялся).
|
||||
|
||||
Reference in New Issue
Block a user