chore: push-wiki — авторизация по токену или логину

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
shop
2026-05-17 09:52:33 +03:00
parent b9e6060610
commit 58c789d5f8
+29 -15
View File
@@ -1,7 +1,13 @@
#!/bin/bash
# Публикация wiki/ в Gitea Wiki
# Использование:
# export GITEA_TOKEN=токен # или настройте git credentials
#
# Способ 1 — токен (рекомендуется):
# export GITEA_TOKEN=ваш_токен
#
# Способ 2 — логин и пароль (не передавайте в чат, только в терминале):
# export GITEA_USER=логин
# export GITEA_PASSWORD=пароль
#
# bash scripts/push-wiki.sh
set -euo pipefail
@@ -15,31 +21,39 @@ if [ ! -d "$WIKI_SRC" ]; then
exit 1
fi
if [ -z "${GITEA_TOKEN:-}" ] && { [ -z "${GITEA_USER:-}" ] || [ -z "${GITEA_PASSWORD:-}" ]; }; then
echo "Задайте GITEA_TOKEN или пару GITEA_USER + GITEA_PASSWORD"
exit 1
fi
cleanup() { rm -rf "$TMPDIR"; }
trap cleanup EXIT
HOST_PATH="${GITEA_WIKI_URL#https://}"
HOST_PATH="${HOST_PATH#http://}"
if [ -n "${GITEA_TOKEN:-}" ]; then
CLONE_URL="https://${GITEA_TOKEN}@${GITEA_WIKI_URL#https://}"
CLONE_URL="https://${GITEA_TOKEN}@${HOST_PATH}"
else
CLONE_URL="$GITEA_WIKI_URL"
# URL-encode не делаем — пароль без спецсимволов; иначе используйте токен
CLONE_URL="https://${GITEA_USER}:${GITEA_PASSWORD}@${HOST_PATH}"
fi
if git clone "$CLONE_URL" "$TMPDIR" 2>/dev/null; then
:
else
echo "Клонирование wiki (первый раз)..."
mkdir -p "$TMPDIR"
cd "$TMPDIR"
git init
if git clone "$CLONE_URL" . 2>/dev/null; then
echo "Wiki репозиторий склонирован."
else
echo "Инициализация нового wiki репозитория..."
git init -b main
git remote add origin "$CLONE_URL"
cd -
fi
rsync -a --delete "${WIKI_SRC}/" "${TMPDIR}/"
rsync -a --delete "${WIKI_SRC}/" ./
cd "$TMPDIR"
git add -A
if git diff --staged --quiet; then
if git diff --staged --quiet 2>/dev/null; then
echo "Wiki без изменений."
exit 0
fi
@@ -47,7 +61,7 @@ fi
git config user.email "wiki@shop.local"
git config user.name "Shop Wiki"
git commit -m "docs: установка Docker и без Docker (v0.10.0)"
git branch -M main 2>/dev/null || true
git push -u origin main
echo "Wiki опубликована: https://git.evilfox.cc/test/shop10/wiki"
echo ""
echo "Готово: https://git.evilfox.cc/test/shop10/wiki"