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:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
ref:
|
ref:
|
||||||
description: "Ветка или тег: main = как на Forgejo; v1.7.0 = тег. Не путать с 1.7.0 без v."
|
description: "main, v1.7.0 или 1.7.0 (без v подставится автоматически)."
|
||||||
required: true
|
required: true
|
||||||
default: "main"
|
default: "main"
|
||||||
|
|
||||||
@ -18,9 +18,17 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Определить ревизию
|
- name: Определить ревизию
|
||||||
id: pick
|
id: pick
|
||||||
|
env:
|
||||||
|
RAW_REF: ${{ inputs.ref }}
|
||||||
run: |
|
run: |
|
||||||
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
|
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
|
else
|
||||||
echo "ref=${{ github.ref_name }}" >> "$GITHUB_OUTPUT"
|
echo "ref=${{ github.ref_name }}" >> "$GITHUB_OUTPUT"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@ -92,7 +92,7 @@ curl -s http://127.0.0.1:8080/health
|
|||||||
## Откат версии (простой процесс)
|
## Откат версии (простой процесс)
|
||||||
|
|
||||||
1. В Forgejo: **Actions → Deploy → Run workflow**.
|
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`.
|
3. Запустить. На сервере выполнится `checkout` и `reset` на этот ref, затем `docker compose build && up -d`.
|
||||||
|
|
||||||
Убедитесь, что старый тег есть в `origin` (`git push --tags` не удалялся).
|
Убедитесь, что старый тег есть в `origin` (`git push --tags` не удалялся).
|
||||||
|
|||||||
Reference in New Issue
Block a user