Files
anotherreflections-website-v2/.gitea/workflows/deploy.yml
Dmitry Gusev 291d5a5a98 feat(indexnow): add IndexNow key file and trigger script
- public/15455d9f2c7b473bb04336055b792ec9.txt — ownership-ключ для Yandex/Bing
- scripts/indexnow.js — собирает URL из dist/sitemap-*.xml (fallback: remote sitemap-index), шлёт на yandex.com/indexnow и api.indexnow.org/indexnow
- package.json: npm run indexnow
- .gitea/workflows/deploy.yml: после успешного deploy чекаут + node + npm run indexnow (не блокирует пайплайн через || true)
2026-05-21 13:44:11 +03:00

62 lines
1.8 KiB
YAML

name: deploy
on:
push:
branches: [main]
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Install SSH client
run: |
apt-get update -qq
apt-get install -y --no-install-recommends openssh-client
- name: Setup SSH
run: |
mkdir -p ~/.ssh && chmod 700 ~/.ssh
printf '%s\n' "${{ secrets.SSH_DEPLOY_KEY }}" > ~/.ssh/id_deploy
chmod 600 ~/.ssh/id_deploy
printf '%s\n' "${{ secrets.SSH_KNOWN_HOSTS }}" > ~/.ssh/known_hosts
chmod 644 ~/.ssh/known_hosts
- name: Deploy to web.hhivp.com
run: |
ssh -i ~/.ssh/id_deploy striker@web.hhivp.com bash -s <<'REMOTE'
set -euo pipefail
REPO_URL="ssh://git@git.striker.su:2222/striker/anotherreflections-website-v2.git"
DEPLOY_PATH="/opt/docker/sites/anotherreflections-ru-v2"
HEALTH_URL="http://127.0.0.1:4084/"
if [ ! -d "$DEPLOY_PATH/.git" ]; then
mkdir -p "$DEPLOY_PATH"
git clone --branch main "$REPO_URL" "$DEPLOY_PATH"
else
cd "$DEPLOY_PATH"
git remote set-url origin "$REPO_URL"
git fetch origin main
git reset --hard origin/main
fi
cd "$DEPLOY_PATH"
docker compose build
docker compose up -d
sleep 5
docker compose ps
curl -fsS -o /dev/null -w "HEALTH HTTP %{http_code}\n" "$HEALTH_URL"
docker image prune -af --filter "until=168h" >/dev/null 2>&1 || true
REMOTE
- name: Checkout repo for IndexNow
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
- name: Notify IndexNow (Yandex/Bing)
run: npm run indexnow || true