Compare commits
8 commits
auto_build
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bc145f4634 | ||
|
|
c14d9c1b3b | ||
|
|
2e65b9704a | ||
|
|
7eb2c68e21 | ||
|
|
d3e2bf4b45 | ||
|
|
e4d9adf7c9 | ||
|
|
0478b4d7c5 | ||
|
|
2e195f9762 |
1 changed files with 140 additions and 60 deletions
196
README.md
196
README.md
|
|
@ -1,91 +1,171 @@
|
||||||
# Auto Build GitHub Release Automation
|
# 
|
||||||
|
|
||||||
## 📦 Описание проекта
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
Скрипт автоматизирует создание релизов в 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
|
|
||||||
git clone https://github.com/your-repo/auto-build-script.git
|
|
||||||
cd auto-build-script
|
|
||||||
```
|
|
||||||
|
|
||||||
2. Установить зависимости:
|
```bash
|
||||||
```powershell
|
git clone https://github.com/themaster1970sf/AutoBuildRepo.git
|
||||||
pip install -r requirements.txt
|
cd AutoBuildRepo
|
||||||
```
|
```
|
||||||
|
|
||||||
|
2. **Установить зависимости**
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
pip install -r requirements.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Запустить скрипт**
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
python app.py
|
||||||
|
```
|
||||||
|
</details>
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>
|
||||||
|
|
||||||
### Linux
|
### Linux
|
||||||
|
</summary>
|
||||||
|
|
||||||
1. Клонировать репозиторий:
|
1. **Клонировать репозиторий**
|
||||||
```bash
|
|
||||||
git clone https://github.com/your-repo/auto-build-script.git
|
|
||||||
cd auto-build-script
|
|
||||||
```
|
|
||||||
|
|
||||||
2. Создать виртуальное окружение:
|
```bash
|
||||||
```bash
|
git clone https://github.com/themaster1970sf/AutoBuildRepo.git
|
||||||
python3 -m venv venv
|
cd AutoBuildRepo
|
||||||
source venv/bin/activate
|
```
|
||||||
```
|
|
||||||
|
|
||||||
3. Установить зависимости:
|
2. **Создать и активировать виртуальное окружение**
|
||||||
```bash
|
|
||||||
pip install -r requirements.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
## 🔧 Настройка
|
```bash
|
||||||
|
python3 -m venv venv
|
||||||
|
source venv/bin/activate
|
||||||
|
```
|
||||||
|
|
||||||
1. Получить Personal Access Token в GitHub
|
3. **Установить зависимости**
|
||||||
2. Отредактировать `daily_release()`:
|
|
||||||
```python
|
```bash
|
||||||
repo = {
|
pip install -r requirements.txt
|
||||||
"path": r"/path/to/build",
|
```
|
||||||
|
|
||||||
|
4. **Запустить скрипт**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
python3 app.py
|
||||||
|
```
|
||||||
|
</details>
|
||||||
|
|
||||||
|
## Конфигурация
|
||||||
|
|
||||||
|
1. **Получить персональный токен доступа GitHub**
|
||||||
|
|
||||||
|
Создайте токен со следующими разрешениями:
|
||||||
|
- `repo` (Полный контроль над приватными репозиториями)
|
||||||
|
- `workflow` (Обновление рабочих процессов GitHub Action)
|
||||||
|
|
||||||
|
2. **Настроить скрипт**
|
||||||
|
|
||||||
|
Отредактируйте функцию `daily_release()` в файле `app.py`:
|
||||||
|
|
||||||
|
```python
|
||||||
|
repo = {
|
||||||
|
"path": r"/путь/к/сборке",
|
||||||
"git_config": {
|
"git_config": {
|
||||||
"username": "your_github_username",
|
"username": "ваш_логин_github",
|
||||||
"repo": "your_repository",
|
"repo": "ваш_репозиторий",
|
||||||
"token": "your_github_token"
|
"token": "ваш_токен_github"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## 🕒 Расписание
|
## Настройки расписания
|
||||||
|
|
||||||
|
По умолчанию скрипт запускается ежедневно в 11:23. Чтобы изменить расписание, измените функцию `main()`:
|
||||||
|
|
||||||
По умолчанию скрипт запускается ежедневно в 11:23. Изменить время в функции `main()`:
|
|
||||||
```python
|
```python
|
||||||
schedule.every().day.at("HOUR:MINUTE").do(daily_release)
|
schedule.every().day.at("ЧАС:МИНУТА").do(daily_release)
|
||||||
```
|
```
|
||||||
|
|
||||||
## 🐍 Запуск
|
Доступные варианты расписания:
|
||||||
|
- `schedule.every().day.at("ЧЧ:ММ")` - Запуск ежедневно в указанное время
|
||||||
|
- `schedule.every().hour` - Запуск каждый час
|
||||||
|
- `schedule.every().monday` - Запуск каждый понедельник
|
||||||
|
- `schedule.every(10).minutes` - Запуск каждые 10 минут
|
||||||
|
|
||||||
|
## Запуск
|
||||||
|
|
||||||
|
Чтобы запустить автоматический процесс выпуска релизов:
|
||||||
|
|
||||||
```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>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue