Files
configure_nginx_manager/.github/workflows/sync-from-gitea.yml
Dmitriy Fofanov 2f89d9e169
Some checks failed
Sync from Gitea / sync (push) Has been cancelled
Добавлено подробное руководство по тестированию SSL-сертификатов и скрипты автоматизации.
- Добавлено подробное руководство по тестированию SSL-сертификатов с использованием самоподписанных сертификатов.
- Добавлены инструкции по созданию тестовых сертификатов с помощью Makefile, Python и Bash-скриптов.
- Добавлены сравнение методов и подробные инструкции по настройке, проверке и использованию в Nginx.
- Задокументированы этапы перехода от тестовых сертификатов к рабочим.
- Создано руководство по получению сертификатов Let's Encrypt с DNS-запросом для провайдера reg.ru.
- Разработано подробное руководство по настройке использования глобального SSL-сертификата в Nginx Proxy Manager.
- Предоставлены инструкции по созданию и обновлению wildcard-сертификатов в Nginx Proxy Manager.
- Добавлены скрипты автоматизации для создания и обновления SSL-сертификатов с помощью API reg.ru.
- Реализованы Git-хуки для Gitea для синхронизации изменений с GitHub после отправки.
- Улучшено логирование и обработка ошибок в Git-хуках для улучшения мониторинга и устранения неполадок.
2025-10-27 22:18:32 +03:00

101 lines
3.6 KiB
YAML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

name: Sync from Gitea
# Запускается вручную или по webhook от Gitea
on:
workflow_dispatch:
repository_dispatch:
types: [gitea-push]
schedule:
# Проверка каждый час
- cron: '0 * * * *'
jobs:
sync:
runs-on: ubuntu-latest
steps:
- name: Checkout GitHub repository
uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}
- name: Configure Git
run: |
git config --global user.name "Sync Bot"
git config --global user.email "bot@example.com"
- name: Add Gitea remote
env:
GITEA_URL: ${{ secrets.GITEA_URL }}
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
run: |
if [ -z "$GITEA_URL" ]; then
echo "⚠️ GITEA_URL не настроен, пропускаем синхронизацию"
exit 0
fi
# Добавляем Gitea remote с токеном
git remote add gitea "https://oauth2:${GITEA_TOKEN}@${GITEA_URL#https://}"
git remote -v
- name: Fetch from Gitea
run: |
if git remote | grep -q gitea; then
echo "🔄 Получение изменений из Gitea..."
git fetch gitea --tags
else
echo "⚠️ Gitea remote не настроен"
exit 0
fi
- name: Check for new commits
id: check
run: |
# Проверяем есть ли новые коммиты в Gitea
LOCAL=$(git rev-parse HEAD)
REMOTE=$(git rev-parse gitea/main 2>/dev/null || git rev-parse gitea/master 2>/dev/null || echo $LOCAL)
if [ "$LOCAL" != "$REMOTE" ]; then
echo "new_commits=true" >> $GITHUB_OUTPUT
echo "✅ Обнаружены новые изменения в Gitea"
else
echo "new_commits=false" >> $GITHUB_OUTPUT
echo " Нет новых изменений"
fi
- name: Merge changes from Gitea
if: steps.check.outputs.new_commits == 'true'
run: |
# Определяем главную ветку
if git show-ref --verify --quiet refs/remotes/gitea/main; then
BRANCH="main"
else
BRANCH="master"
fi
echo "🔀 Слияние изменений из gitea/${BRANCH}..."
git merge "gitea/${BRANCH}" --allow-unrelated-histories -m "Sync from Gitea: $(date)"
- name: Push to GitHub
if: steps.check.outputs.new_commits == 'true'
run: |
echo "⬆️ Отправка изменений в GitHub..."
git push origin HEAD:main --force-with-lease
git push origin --tags
echo "✅ Синхронизация завершена"
- name: Summary
if: always()
run: |
echo "## 🔄 Отчет о синхронизации" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
if [ "${{ steps.check.outputs.new_commits }}" == "true" ]; then
echo "✅ **Статус**: Синхронизировано успешно" >> $GITHUB_STEP_SUMMARY
echo "📦 **Коммиты**: Новые изменения получены и объединены" >> $GITHUB_STEP_SUMMARY
else
echo " **Статус**: Нет новых изменений" >> $GITHUB_STEP_SUMMARY
fi
echo "" >> $GITHUB_STEP_SUMMARY
echo "🕐 **Время**: $(date)" >> $GITHUB_STEP_SUMMARY