CI/CD для Wiki¶
Цель
Деплой без цирка.
Скрипт деплоя¶
#!/usr/bin/env bash
set -euo pipefail
SRC="$HOME/mywiki"
DST="/var/www/wiki.axialix.ru"
cd "$SRC"
mkdocs build -d "$DST" --clean
# предсжатие (если есть brotli/zstd/gzip)
if command -v brotli >/dev/null 2>&1 && command -v zstd >/dev/null 2>&1; then
find "$DST" -type f \( -name "*.html" -o -name "*.css" -o -name "*.js" -o -name "*.svg" -o -name "*.json" \) \
| while read -r f; do
brotli -f -q11 "$f" -o "$f.br" || true
gzip -fk9 "$f" || true
zstd -f -19 --rm -k "$f" -o "$f.zst" || true
done
fi
sudo systemctl reload caddy
Запуск
deploy-wiki