diff --git a/README.md b/README.md index bb0114f..1269535 100644 --- a/README.md +++ b/README.md @@ -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 - -## Установка - -
- +## πŸ“‹ Установка ### Windows - -1. **ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ** - - ```bash - git clone https://github.com/themaster1970sf/AutoBuildRepo.git - cd AutoBuildRepo - ``` - -2. **Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ зависимости** - - ```powershell - pip install -r requirements.txt - ``` - -3. **Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт** - - ```powershell - python app.py - ``` -
- -
- - -### Linux - - -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 - ``` -
- -## ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ - -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) +1. ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ: +```bash +git clone https://github.com/your-repo/auto-build-script.git +cd auto-build-script ``` -ДоступныС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ расписания: -- `schedule.every().day.at("Π§Π§:ММ")` - Запуск Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ врСмя -- `schedule.every().hour` - Запуск ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ час -- `schedule.every().monday` - Запуск ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ понСдСльник -- `schedule.every(10).minutes` - Запуск ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 10 ΠΌΠΈΠ½ΡƒΡ‚ +2. Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ зависимости: +```powershell +pip install -r requirements.txt +``` -## Запуск +### 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 python app.py ``` -Π‘ΠΊΡ€ΠΈΠΏΡ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π² соотвСтствии с установлСнным расписаниСм. +## ⚠️ Π’Π°ΠΆΠ½ΠΎ -## Π’Π°ΠΆΠ½Ρ‹Π΅ примСчания +- Π₯Ρ€Π°Π½ΠΈΡ‚Π΅ Ρ‚ΠΎΠΊΠ΅Π½ Π² сСкрСтС +- ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΏΡ€Π°Π²Π° доступа ΠΊ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ +- Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ Π² коррСктности ΠΏΡƒΡ‚Π΅ΠΉ -⚠️ **БообраТСния бСзопасности** +## πŸ“„ ЛицСнзия -- РассмотритС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния для хранСния ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ -- ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π΅ΡΡ‚ΡŒ Π»ΠΈ Ρƒ вас Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ для Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ рСпозитория - -⚠️ **БообраТСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ** - -- Для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя -- Π‘Π»Π΅Π΄ΠΈΡ‚Π΅ Π·Π° ограничСниями скорости API GitHub -- Π£Ρ‡ΠΈΡ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ использованиС пропускной способности сСти для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ - -## ЛицСнзия - -[ЛицСнзия MIT](https://github.com/themaster1970sf/AutoBuildRepo/blob/main/LICENSE) - ---- - -

- Π‘Π΄Π΅Π»Π°Π½ΠΎ с ❀️ ΠΎΡ‚ themaster1970sf -

+[MIT License](https://github.com/themaster1970sf/AutoBuildRepo/blob/main/LICENSE)