diff --git a/README.md b/README.md index 1269535..bb0114f 100644 --- a/README.md +++ b/README.md @@ -1,91 +1,171 @@ -# Auto Build GitHub Release Automation +# ![AutoBuildRepo](https://img.shields.io/badge/Auto%20Build-GitHub%20Release-blue?style=for-the-badge&logo=github) -## πŸ“¦ ОписаниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° +![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/your-repo/auto-build-script.git -cd auto-build-script -``` +1. **ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ** -2. Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ зависимости: -```powershell -pip install -r requirements.txt -``` + ```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/your-repo/auto-build-script.git -cd auto-build-script -``` +1. **ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ** -2. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅: -```bash -python3 -m venv venv -source venv/bin/activate -``` + ```bash + git clone https://github.com/themaster1970sf/AutoBuildRepo.git + cd AutoBuildRepo + ``` -3. Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ зависимости: -```bash -pip install -r requirements.txt -``` +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()`: -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" - } -} +schedule.every().day.at("ЧАБ:МИНУВА").do(daily_release) ``` -## πŸ•’ РасписаниС +ДоступныС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ расписания: +- `schedule.every().day.at("Π§Π§:ММ")` - Запуск Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ врСмя +- `schedule.every().hour` - Запуск ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ час +- `schedule.every().monday` - Запуск ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ понСдСльник +- `schedule.every(10).minutes` - Запуск ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 10 ΠΌΠΈΠ½ΡƒΡ‚ -По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ скрипт запускаСтся Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ Π² 11:23. Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ врСмя Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ `main()`: -```python -schedule.every().day.at("HOUR:MINUTE").do(daily_release) -``` +## Запуск -## 🐍 Запуск +Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ автоматичСский процСсс выпуска Ρ€Π΅Π»ΠΈΠ·ΠΎΠ²: ```bash python app.py ``` -## ⚠️ Π’Π°ΠΆΠ½ΠΎ +Π‘ΠΊΡ€ΠΈΠΏΡ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π² соотвСтствии с установлСнным расписаниСм. -- Π₯Ρ€Π°Π½ΠΈΡ‚Π΅ Ρ‚ΠΎΠΊΠ΅Π½ Π² сСкрСтС -- ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΏΡ€Π°Π²Π° доступа ΠΊ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ -- Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ Π² коррСктности ΠΏΡƒΡ‚Π΅ΠΉ +## Π’Π°ΠΆΠ½Ρ‹Π΅ примСчания -## πŸ“„ ЛицСнзия +⚠️ **БообраТСния бСзопасности** -[MIT License](https://github.com/themaster1970sf/AutoBuildRepo/blob/main/LICENSE) +- РассмотритС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния для хранСния ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ +- ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π΅ΡΡ‚ΡŒ Π»ΠΈ Ρƒ вас Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ для Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ рСпозитория + +⚠️ **БообраТСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ** + +- Для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя +- Π‘Π»Π΅Π΄ΠΈΡ‚Π΅ Π·Π° ограничСниями скорости API GitHub +- Π£Ρ‡ΠΈΡ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ использованиС пропускной способности сСти для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ + +## ЛицСнзия + +[ЛицСнзия MIT](https://github.com/themaster1970sf/AutoBuildRepo/blob/main/LICENSE) + +--- + +

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