| .github/workflows | ||
| app.py | ||
| LICENSE | ||
| README.md | ||
| requirements.txt | ||
Содержание
- Описание
- Функции
- Требования
- Установка
- Конфигурация
- Настройки расписания
- Запуск
- Важные примечания
- Лицензия
Описание
Мощный Python-скрипт, автоматизирующий создание релизов на GitHub путем генерации ежедневных архивов содержимого вашего репозитория. Идеально подходит для проектов, требующих регулярных сборок или резервных копий.
Функции
- 🔄 Автоматическое архивирование репозитория - Создает сжатые архивы вашего репозитория
- 🚀 Генерация релизов на GitHub - Автоматически создает релизы на GitHub
- 📦 Загрузка ресурсов - Прикрепляет архивные файлы к каждому релизу
- 💻 Кроссплатформенность - Работает как на Windows, так и на Linux
- ⏱️ Настраиваемое расписание - Настройте собственное время выпуска релизов
- 🔒 Безопасная аутентификация - Использует персональные токены доступа GitHub для безопасного доступа к API
Требования
- Python 3.8 или выше
- Установленный и настроенный Git
- Персональный токен доступа GitHub с соответствующими разрешениями
- Интернет-соединение для доступа к API GitHub
Установка
Windows
-
Клонировать репозиторий
git clone https://github.com/themaster1970sf/AutoBuildRepo.git cd AutoBuildRepo -
Установить зависимости
pip install -r requirements.txt -
Запустить скрипт
python app.py
Linux
-
Клонировать репозиторий
git clone https://github.com/themaster1970sf/AutoBuildRepo.git cd AutoBuildRepo -
Создать и активировать виртуальное окружение
python3 -m venv venv source venv/bin/activate -
Установить зависимости
pip install -r requirements.txt -
Запустить скрипт
python3 app.py
Конфигурация
-
Получить персональный токен доступа GitHub
Создайте токен со следующими разрешениями:
repo(Полный контроль над приватными репозиториями)workflow(Обновление рабочих процессов GitHub Action)
-
Настроить скрипт
Отредактируйте функцию
daily_release()в файлеapp.py:repo = { "path": r"/путь/к/сборке", "git_config": { "username": "ваш_логин_github", "repo": "ваш_репозиторий", "token": "ваш_токен_github" } }
Настройки расписания
По умолчанию скрипт запускается ежедневно в 11:23. Чтобы изменить расписание, измените функцию main():
schedule.every().day.at("ЧАС:МИНУТА").do(daily_release)
Доступные варианты расписания:
schedule.every().day.at("ЧЧ:ММ")- Запуск ежедневно в указанное времяschedule.every().hour- Запуск каждый часschedule.every().monday- Запуск каждый понедельникschedule.every(10).minutes- Запуск каждые 10 минут
Запуск
Чтобы запустить автоматический процесс выпуска релизов:
python app.py
Скрипт продолжит работать в фоновом режиме в соответствии с установленным расписанием.
Важные примечания
⚠️ Соображения безопасности
- Рассмотрите возможность использования переменных окружения для хранения конфиденциальной информации
- Проверьте, есть ли у вас необходимые разрешения для целевого репозитория
⚠️ Соображения производительности
- Для больших репозиториев архивирование может занять значительное время
- Следите за ограничениями скорости API GitHub
- Учитывайте использование пропускной способности сети для больших загрузок
Лицензия
Сделано с ❤️ от themaster1970sf