Compare commits

..

No commits in common. "main" and "auto_build_2025-01-28_23-00-05" have entirely different histories.

218
README.md
View file

@ -1,171 +1,91 @@
# ![AutoBuildRepo](https://img.shields.io/badge/Auto%20Build-GitHub%20Release-blue?style=for-the-badge&logo=github) # Auto Build GitHub Release Automation
![Python](https://img.shields.io/badge/-Python-3776AB?logo=python&logoColor=white) ## 📦 Описание проекта
![GitHub](https://img.shields.io/badge/-GitHub-181717?logo=github)
![Windows](https://img.shields.io/badge/-Windows-0078D6?logo=windows&logoColor=white)
![Linux](https://img.shields.io/badge/-Linux-FCC624?logo=linux&logoColor=black)
![Usage](https://img.shields.io/badge/Usage-Automated%20Releases-yellow)
![License](https://img.shields.io/badge/License-MIT-green)
## Содержание Скрипт автоматизирует создание релизов в GitHub с ежедневной архивацией содержимого репозитория.
* [Описание](#описание) ## 🚀 Функциональность
* [Функции](#функции)
* [Требования](#требования)
* [Установка](#установка)
* [Конфигурация](#конфигурация)
* [Настройки расписания](#настройки-расписания)
* [Запуск](#запуск)
* [Важные примечания](#важные-примечания)
* [Лицензия](#лицензия)
## Описание - Автоматическое создание архива репозитория
- Генерация релиза в GitHub
- Загрузка архива как asset релиза
- Поддержка Windows и Linux
- Настраиваемое расписание
Мощный Python-скрипт, автоматизирующий создание релизов на GitHub путем генерации ежедневных архивов содержимого вашего репозитория. Идеально подходит для проектов, требующих регулярных сборок или резервных копий. ## 🛠 Требования
## Функции - Python 3.8+
- Git
- Личный токен GitHub
* 🔄 **Автоматическое архивирование репозитория** - Создает сжатые архивы вашего репозитория ## 📋 Установка
* 🚀 **Генерация релизов на GitHub** - Автоматически создает релизы на GitHub
* 📦 **Загрузка ресурсов** - Прикрепляет архивные файлы к каждому релизу
* 💻 **Кроссплатформенность** - Работает как на Windows, так и на Linux
* ⏱️ **Настраиваемое расписание** - Настройте собственное время выпуска релизов
* 🔒 **Безопасная аутентификация** - Использует персональные токены доступа GitHub для безопасного доступа к API
## Требования
* Python 3.8 или выше
* Установленный и настроенный Git
* Персональный токен доступа GitHub с соответствующими разрешениями
* Интернет-соединение для доступа к API GitHub
## Установка
<details>
<summary>
### Windows ### Windows
</summary>
1. **Клонировать репозиторий** 1. Клонировать репозиторий:
```bash
```bash git clone https://github.com/your-repo/auto-build-script.git
git clone https://github.com/themaster1970sf/AutoBuildRepo.git cd auto-build-script
cd AutoBuildRepo
```
2. **Установить зависимости**
```powershell
pip install -r requirements.txt
```
3. **Запустить скрипт**
```powershell
python app.py
```
</details>
<details>
<summary>
### Linux
</summary>
1. **Клонировать репозиторий**
```bash
git clone https://github.com/themaster1970sf/AutoBuildRepo.git
cd AutoBuildRepo
```
2. **Создать и активировать виртуальное окружение**
```bash
python3 -m venv venv
source venv/bin/activate
```
3. **Установить зависимости**
```bash
pip install -r requirements.txt
```
4. **Запустить скрипт**
```bash
python3 app.py
```
</details>
## Конфигурация
1. **Получить персональный токен доступа GitHub**
Создайте токен со следующими разрешениями:
- `repo` (Полный контроль над приватными репозиториями)
- `workflow` (Обновление рабочих процессов GitHub Action)
2. **Настроить скрипт**
Отредактируйте функцию `daily_release()` в файле `app.py`:
```python
repo = {
"path": r"/путь/к/сборке",
"git_config": {
"username": "ваш_логин_github",
"repo": "ваш_репозиторий",
"token": "ваш_токен_github"
}
}
```
## Настройки расписания
По умолчанию скрипт запускается ежедневно в 11:23. Чтобы изменить расписание, измените функцию `main()`:
```python
schedule.every().day.at("ЧАС:МИНУТА").do(daily_release)
``` ```
Доступные варианты расписания: 2. Установить зависимости:
- `schedule.every().day.at("ЧЧ:ММ")` - Запуск ежедневно в указанное время ```powershell
- `schedule.every().hour` - Запуск каждый час pip install -r requirements.txt
- `schedule.every().monday` - Запуск каждый понедельник ```
- `schedule.every(10).minutes` - Запуск каждые 10 минут
## Запуск ### Linux
Чтобы запустить автоматический процесс выпуска релизов: 1. Клонировать репозиторий:
```bash
git clone https://github.com/your-repo/auto-build-script.git
cd auto-build-script
```
2. Создать виртуальное окружение:
```bash
python3 -m venv venv
source venv/bin/activate
```
3. Установить зависимости:
```bash
pip install -r requirements.txt
```
## 🔧 Настройка
1. Получить Personal Access Token в GitHub
2. Отредактировать `daily_release()`:
```python
repo = {
"path": r"/path/to/build",
"git_config": {
"username": "your_github_username",
"repo": "your_repository",
"token": "your_github_token"
}
}
```
## 🕒 Расписание
По умолчанию скрипт запускается ежедневно в 11:23. Изменить время в функции `main()`:
```python
schedule.every().day.at("HOUR:MINUTE").do(daily_release)
```
## 🐍 Запуск
```bash ```bash
python app.py python app.py
``` ```
Скрипт продолжит работать в фоновом режиме в соответствии с установленным расписанием. ## ⚠️ Важно
## Важные примечания - Храните токен в секрете
- Проверьте права доступа к репозиторию
- Убедитесь в корректности путей
⚠️ **Соображения безопасности** ## 📄 Лицензия
- Рассмотрите возможность использования переменных окружения для хранения конфиденциальной информации [MIT License](https://github.com/themaster1970sf/AutoBuildRepo/blob/main/LICENSE)
- Проверьте, есть ли у вас необходимые разрешения для целевого репозитория
⚠️ **Соображения производительности**
- Для больших репозиториев архивирование может занять значительное время
- Следите за ограничениями скорости API GitHub
- Учитывайте использование пропускной способности сети для больших загрузок
## Лицензия
[Лицензия MIT](https://github.com/themaster1970sf/AutoBuildRepo/blob/main/LICENSE)
---
<p align="center">
Сделано с ❤️ от <a href="https://git.plazmocraft.ru/themaster1970sf/">themaster1970sf</a>
</p>