Python-скрипт, автоматизирующий создание релизов на GitHub
Find a file
2025-10-24 08:16:33 +03:00
.github/workflows Create pylint.yml 2025-01-25 21:50:14 +03:00
app.py Add files via upload 2025-01-25 15:08:58 +03:00
LICENSE Update LICENSE 2025-01-25 11:51:35 +03:00
README.md Update README.md 2025-10-24 08:16:33 +03:00
requirements.txt Update and rename r.txt to requirements.txt 2025-01-25 22:01:35 +03:00

AutoBuildRepo

Python GitHub Windows Linux Usage License

Содержание

Описание

Мощный Python-скрипт, автоматизирующий создание релизов на GitHub путем генерации ежедневных архивов содержимого вашего репозитория. Идеально подходит для проектов, требующих регулярных сборок или резервных копий.

Функции

  • 🔄 Автоматическое архивирование репозитория - Создает сжатые архивы вашего репозитория
  • 🚀 Генерация релизов на GitHub - Автоматически создает релизы на GitHub
  • 📦 Загрузка ресурсов - Прикрепляет архивные файлы к каждому релизу
  • 💻 Кроссплатформенность - Работает как на Windows, так и на Linux
  • ⏱️ Настраиваемое расписание - Настройте собственное время выпуска релизов
  • 🔒 Безопасная аутентификация - Использует персональные токены доступа GitHub для безопасного доступа к API

Требования

  • Python 3.8 или выше
  • Установленный и настроенный Git
  • Персональный токен доступа GitHub с соответствующими разрешениями
  • Интернет-соединение для доступа к API GitHub

Установка

Windows

  1. Клонировать репозиторий

    git clone https://github.com/themaster1970sf/AutoBuildRepo.git
    cd AutoBuildRepo
    
  2. Установить зависимости

    pip install -r requirements.txt
    
  3. Запустить скрипт

    python app.py
    

Linux

  1. Клонировать репозиторий

    git clone https://github.com/themaster1970sf/AutoBuildRepo.git
    cd AutoBuildRepo
    
  2. Создать и активировать виртуальное окружение

    python3 -m venv venv
    source venv/bin/activate
    
  3. Установить зависимости

    pip install -r requirements.txt
    
  4. Запустить скрипт

    python3 app.py
    

Конфигурация

  1. Получить персональный токен доступа GitHub

    Создайте токен со следующими разрешениями:

    • repo (Полный контроль над приватными репозиториями)
    • workflow (Обновление рабочих процессов GitHub Action)
  2. Настроить скрипт

    Отредактируйте функцию 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
  • Учитывайте использование пропускной способности сети для больших загрузок

Лицензия

Лицензия MIT


Сделано с ❤️ от themaster1970sf