Перейти до вмісту

Розгортання системи K2 ERP Python для розробників: відмінності між версіями

Матеріал з K2 ERP Wiki
Розгортання K2 ERP для розробників Python
 
Немає опису редагування
 
Рядок 1: Рядок 1:
</pre>  
domain_protocol = "http"
 
https://git.corp2.eu/k2erp/python/k2/base/client/auto_update
 
<pre>
 
<pre>
<pre>
Після встановлення PyCharm потрібно відкрити локально скопійований проєкт K2 ERP.; | У Python Interpreter через локальний <code>venv</code>
|-
| Як працювати з компонентами?; Що перевірити
<pre>
 
components/k2adm
 
bash run.sh
 
Перегляд публічного ключа:
[[Категорія:K2 ERP Python]]
</pre>
 
Завантажити PyCharm можна з офіційної сторінки:
 
<pre>
<pre>
== 10.; Коміт змін вручну ==
 
Після копіювання потрібно перейти в каталог:
</pre>
</pre>
 
cat ~/.ssh/id_rsa.pub
 
<pre>
 
[[Категорія:Git]]
 
Завантаження компонент, зазначених у файлі <code>builder/config/component-list.txt</code>, виконується командою:
 
git status
[[Категорія:Розгортання K2 ERP]]
Приклад:
</pre>
Після конфігурація інтерпретатора проєкт можна запускати в режимі debug або з консолі PyCharm.;=== Встановлення PyCharm у Linux з архіву ===
<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;">
Після зміни версії потрібно додати характеристика змін у файл:


</pre>якщо отримали помилку встановлюємо JRE/JDK командами:<pre>
</pre>
</pre>


git checkout master (переключаємось на іншу локальну гілку)
</pre>
</div>
<pre>


* копіюєм з віддаленого сервера існуючий проект по ftp
</pre>


* переходимо в каталог /K2CloudERP і запускаємо файл first_run для конфігурація параметрів віртуального середовища в поточному локальному розташуванні командою:
Повний приклад доступний у файлі:
git remote -v (перевірка)
/K2CloudERP
</pre>відкриваємо файл settings.py і додаємо в словник ключі з потрібними компонентами (повний список в файлі settings_example.py)
</pre>
 
Приклад рядка:
 
<pre>
</pre>
<pre>
<pre>
sudo rm /etc/apt/preferences.d/nosnap.pref


* переходимо в файл налаштувань /K2CloudERP/cfg/k2/k2/k2cfg.py і змінюємо там domain_protocol з https на http
Приклад вмісту:
 
<pre>
 
<pre>
</pre>
<pre>
 
'''істотно.''' Перед комітом потрібно перевірити <code>git status</code>, щоб випадково не відправити службові файли, локальні конфігурація, тимчасові файли або зайві каталоги.; Питання
 
<pre>
 
на:
 
Публікація змін у віддалений репозиторій:
 
</pre>
 
Після підготовки версії потрібно перейти в корінь застосунку, на рівень із файлом:
git pull origin main
== 2.; Встановлення PyCharm ==
 
<pre>
 
потрібно додати в словник ключі потрібних компонент.;<pre>
 
</pre>
 
Файл додатково знаходиться в корені каталогу компоненти.; cd auto_update
 
<pre>
 
sudo apt update
 
builder/config/ignore
</pre>
cd k2
 
<pre>
 
</pre>
 
[[Категорія:Python]]
<pre>
!;== 1.; Копіювання проєкту і перший запуск ==
Для роботи зі списком компонент можна використовувати скрипт <code>auto_update</code>.; Додавання віддаленого репозиторію:
!; setup.py
 
</pre>
<pre>
Спочатку потрібно скопіювати існуючий робочий проєкт K2 ERP з віддаленого сервера по FTP.; Для клонування актуальних версій компонент виконується команда:
 
</pre>
<pre>
</pre>
 
Додавання ключа:
 
== 5.; Базове конфігурація Git ==
</pre>
sudo apt install default-jdk
 
<pre>
 
</pre>
 
sudo apt update


* запускаємо додаток:
app.py
</pre>
</pre>
version_type = "stable"
./first_run.bat
== Загальна схема роботи ==
ej2.min.js
ej2.min.js
cat ~/.ssh/id_rsa.pub
Для локального запуску змінити параметр:
python git_cmd.py push
 
Завантажити Git можна зі сторінки:


components/k2update
</pre>


bash run.sh
<pre>
<pre>
'''істотно.''' Для локальної розробки потрібно перевірити, що <code>domain_protocol</code> змінено з <code>https</code> на <code>http</code>.; .gitignore


* встановлення через snap
<pre>
<pre>
git config --global user.name "Ваше Ім'я"
 
== 6.; конфігурація завантаження компонент на сервер актуалізація ==
Після завантаження нової версії потрібно оновити змінені компоненти на тестових доменах:
 
</pre>
 
components/k2site
Додати зміни:
Після внесення змін у коді потрібно перевірити статус:
 
потрібно створити файл із назвою компоненти та вказати файли або папки, які не потрібно завантажувати.; Клонування компонент:
</pre>
<pre>
<pre>
завантажуємо архів https://git-scm.com/downloads/win розпаковуємо архів, запускаємо файл встановленя і встановлюємо згідно інструкцій
== 1.; Копіювання існуючого проекту по ftp, перший запуск ==
.gitignore


* встановлення через завантаження архіву з сайту
потрібно вказати токен доступу до сервера оновлень.; 2.0.4.43 - додавання додаткового поля у форму реєстрації


eval "$(ssh-agent -s)"
!; | Через <code>auto_update</code> або вручну через Git
|-
| Як публікувати зміни?; Розгортання локального середовища K2 ERP складається з кількох основних етапів:
Можна використовувати PyCharm Community або іншу редакцію, яка підходить для роботи з Python-проєктами.; потрібно вказати список компонент, які будуть завантажуватися на сервер оновлень.; це інструкція з локального запуску робочого проєкту [[K2 ERP]] забезпечується через '''Розгортання системи K2 ERP Python; додатково реалізовано підключення середовища розробки.; | Через Git-коміт і <code>python k2update_push.py</code>
|-
| Де тестувати актуалізація?; Він адаптує віртуальне середовище до поточного локального розташування проєкту.; Для розробки застосовують, коли потрібно середовище '''PyCharm'''.;</pre>


== 3.; Встановлення та конфігурація git ==
sudo snap install pycharm-community --classic
відкриваємо проект в консолі і переходимо в каталог auto_update<pre>
Отримання змін із віддаленого сервера:
python git_cmd.py clone
Розгортання локально робочого проекту K2 ERP та підключення до нього розробника
</pre>
</pre>
sudo apt install snapd


=== для одної компоненти вручну ===
Ініціалізація Git у поточній директорії:
 
<pre>
 
<pre>


<pre>
<pre>
git push
<pre>
</pre>
</pre>
</pre>


Запуск ssh-agent:
</div>
<pre>
</pre>
</pre>


* відкриваємо середовище розробки Pycharm,
<pre>


* відкриваємо поточний завантажений проект та налаштовуємо змінне середовище для поточного проекту:
Ця команда клонує компоненти та перейменовує каталоги поточних версій компонент.; Причина


</pre>
</pre>


завантажуємо архів https://www.jetbrains.com/pycharm/download/?section=windows
Windows:


коміт змін<pre>
domain_protocol = "https"
</pre>
'''Практична порада.''' Для стабільної роботи з Git краще налаштувати SSH-доступ один раз і далі працювати з репозиторіями без постійного введення логіна та пароля.;</pre>


* запускаємо проект в дебаг режимі (кнопка в правому верхньому куті)
# копіювання робочого проєкту з віддаленого сервера;
# первинне конфігурація локального середовища;
# запуск системи;
# відкриття проєкту в PyCharm;
# конфігурація Python Interpreter;
# встановлення та конфігурація Git;
# підключення репозиторіїв компонент;
# коміт і публікація змін;
# підготовка компонент до сервера оновлень;
# тестування на тестових доменах.; Якщо компоненти підключені через <code>auto_update</code>, робота виконується з каталогу:
__pycache__


* запускаємо проект з консолі Pycharm командою:
Для створення нової версії компоненти потрібно змінити версію у файлі:
</pre>пушимо зміни на віддалений репозиторій<pre>
 
=== Завантаження архіву ===
Після завантаження потрібно розпакувати архів, перейти в каталог <code>bin</code> і запустити:
</pre>
</pre>
Для публікації компонент на сервер оновлень застосовується конфігурація в каталозі:
</pre>
</pre>


* активація віртуального середовища вручну
Для тестової версії можна використовувати:
</pre>
</pre>
./pycharm.sh
<pre>
<pre>
python git_cmd.py pull
Тестування має підтвердити, що:
=== авторизація через ssh ===
Linux:


=== вручну ===
=== Встановлення PyCharm у Linux через snap ===


* встановлення
</pre>


cd components/k2site
</pre>
https://www.jetbrains.com/pycharm/download/?section=linux
<pre>
== 7.; Завантаження нової версії компоненти в систему актуалізація ==
=== Linux ===
python k2update_push.py
=== конфігурація SSH ключа ===


</pre>
</pre>
розпаковуємо архів, переходимо в папку bin і запускаємо<pre>


* налалштування git
</pre>
<pre>
git config --global user.email "ваша_електронна_пошта@example.com"
 
{{DISPLAYTITLE:Розгортання системи K2 ERP Python для розробників}}
 
..\K2CloudERP\venv\Scripts\python.exe


=== автономно (скрипт auto_update) ===
git init
git status
git checkout -b main (створюємо локальну гілку main і перемикаємось на неї)
bash first_run.sh - для Linux
</pre>
</pre>
Windows:
<div style="border:2px solid #f57c00; background:#fff3e0; padding:14px; margin:16px 0;">
<pre>


в правому нижньому куті вибираємо Python Interpreter --> Add new Interpreter -->
<pre>


копіюєм каталог із скриптом і вставляємо в корінь проекту на рівні з виконуваним файлом app.py https://git.corp2.eu/k2erp/python/k2/base/client/auto_update
== Типові помилки ==
{| class="wikitable" style="width:100%;"
deb2


Для створення нової версії компоненти (stable або beta (testing) версії):
./first_run.bat - для Windows
python git_cmd.py clone
source venv/bin/activate - для Linux
git pull origin main
<pre>
<pre>
розпаковуємо архів, запускаємо файл встановленя і встановлюємо згідно інструкцій


</pre>
</pre>
</pre>
</pre>
.\venv\Scripts\activate - для Windows
</pre>
git remote -v
 
Після конфігурація можна запускати застосунок.; Створити коміт:
 
[[Категорія:PyCharm]]
[[Категорія:K2 ERP]]
У каталозі:
 
bash first_run.sh
 
<pre>
<pre>
=== для Linux ===
<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;">
Створення SSH-ключа:
 
Якщо потрібно підключити лише одну компоненту вручну, потрібно перейти в каталог потрібної компоненти.; component-list.txt
git status
git status


* виконуємо в консолі команду, для клонування актуальних версій компонент і перейменовування каталогів поточних версій компонент
<pre>
 
<pre>
Після завантаження потрібно запустити інсталятор і встановити Git згідно з інструкціями.;</pre>
 
Отриманий публічний ключ потрібно скопіювати та додати у віддалений Git-репозиторій.;<pre>
version = "2.0.4.43"
<pre>
<pre>
</pre>
</pre>
sudo apt update
</pre>
Після завантаження потрібно запустити інсталятор і встановити середовище розробки згідно з інструкціями майстра встановлення.; python git_cmd.py commit
 
Після цього потрібно відкрити файл налаштувань:
components/k2update
У файлі:
 
=== Windows ===
 
<pre>


Після встановлення Git потрібно вказати ім’я користувача та email.;</pre>
</pre>
</pre>
</pre>


* переходимо в папку необхідної компоненти, як ілюстрація k2site
.\venv\Scripts\activate
=== конфігурація користувача ===
 
== Розгортання локального робочого проєкту ==
app.py
git checkout -b main
<pre>
<pre>


* ініціалізуєм git в поточній директорії
eval "$(ssh-agent -s)"
</pre>отримуємо зміни з віддаленого сервера<pre>
 
sudo apt install snapd
</pre>
</pre>
./pycharm.sh
Якщо під час запуску виникає помилка, потрібно встановити JRE/JDK:
bash run.sh - для Linux
 
Приклад файлу:
 
</pre>
</pre>
builder/config
../K2CloudERP/venv/bin/python3.12
<pre>
<pre>
<pre>
<pre>


* отримуємо інформаційні дані з віддаленого репозиторію але не змінюємо поточну робочу гілку
sudo apt install git
<pre>
<pre>
git push


* отримуємо інформаційні дані з віддаленого репозиторію з віддаленого репозиторію та автономно об'єднує їх з поточною локальною гілкою.; # У файлі <code>/K2CloudERP/cfg/k2/k2/k2cfg.py</code> для локального запуску змінено <code>domain_protocol</code> з <code>https</code> на <code>http</code>.; # Проєкт запускається через <code>run.sh</code> або <code>run.bat</code>.; # Оновлено компоненти на тестових доменах <code>deb1</code>–<code>deb3</code> та перевірено функціональні можливості.;<pre>
</pre>
cd auto_update
Linux:
https://git-scm.com/downloads/win
 
Отримання змін і автоматичне об’єднання з локальною гілкою:
 
{| class="wikitable" style="width:100%;"
__TOC__
</pre>
 
[[Категорія:Компоненти K2 ERP]]
 
<pre>
<pre>
git fetch origin
Перевірка статусу:
== Оновлюємо змінені версії компонент на тестових доменах deb1-deb3 та тестуємо функціональні можливості.; 8. ==
</div>
<pre>
 
ssh-keygen -t rsa -b 4096 -C "ваша_електронна_пошта@example.com"
git config --global user.name "Ваше Ім'я"
у полі locations додаємо шлях до поточної папки venv
 
sudo apt update
python git_cmd.py clone
Git потрібен для роботи з репозиторіями компонент K2 ERP, отримання оновлень, комітів і публікації змін.; git fetch origin
 
'''Коротко.''' Щоб почати роботу, потрібно скопіювати проєкт, виконати первинне конфігурація через <code>first_run</code>, запустити систему локально, підключити PyCharm, налаштувати Git і працювати з компонентами через репозиторії або скрипт <code>auto_update</code>.;== 7.; Підключення компонент через auto_update ==
 
[[Категорія:Розробка K2 ERP]]
Під час подальшої роботи потрібно регулярно отримувати зміни з віддаленого репозиторію:
deb3
|-
| 1
| Проєкт скопійовано з віддаленого сервера по FTP
|-
| 2
| Виконано <code>first_run.sh</code> або <code>first_run.bat</code>
|-
| 3
| У <code>k2cfg.py</code> змінено <code>domain_protocol</code> з <code>https</code> на <code>http</code>
|-
| 4
| Проєкт запускається через <code>run.sh</code> або <code>run.bat</code>
|-
| 5
| У PyCharm налаштовано Python Interpreter на локальне <code>venv</code>
|-
| 6
| Встановлено та налаштовано Git
|-
| 7
| Налаштовано SSH або інший спосіб авторизації в репозиторії
|-
| 8
| Підключено потрібні компоненти вручну або через <code>auto_update</code>
|-
| 9
| Перевірено роботу <code>git status</code>, <code>git pull</code>, <code>git push</code>
|-
| 10
| Налаштовано <code>builder/config/component-list.txt</code>
|-
| 11
| Налаштовано файли <code>ignore</code> для компонент
|-
| 12
| Додано токен у <code>token.txt</code>
|-
| 13
| Оновлено версію компоненти в <code>setup.py</code>
|-
| 14
| Додано характеристика змін у <code>history.txt</code>
|-
| 15
| Виконано <code>python k2update_push.py</code>
|-
| 16
| Оновлено компоненти на <code>deb1</code>–<code>deb3</code>
|-
| 17
| Перевірено функціональні можливості після актуалізація
|}
 
=== Встановлення PyCharm у Windows ===
 
{| class="wikitable" style="width:100%;"
./run.bat
Створення локальної гілки <code>main</code> і перемикання на неї:
/K2CloudERP/cfg/k2/k2/k2cfg.py
|-
| Проєкт не запускається локально
| Не виконано <code>first_run</code> або неправильно налаштоване середовище
| Повторити <code>first_run</code>, перевірити <code>venv</code>
|-
| Локальний запуск відкривається через HTTPS
| Не змінено <code>domain_protocol</code>
| Перевірити <code>k2cfg.py</code>
|-
| PyCharm не бачить залежності
| Не вибрано правильний Python Interpreter
| Перевірити шлях до <code>venv</code>
|-
| Git не пушить зміни
| Не налаштовано авторизацію або немає прав
| Перевірити SSH-ключ, remote URL і доступи
|-
| На сервер оновлень потрапляють зайві файли
| Не налаштовано <code>ignore</code>
| Перевірити файл компоненти в <code>builder/config/ignore</code>
|-
| Компонента не оновлюється на тестовому домені
| Не змінено версію або не завантажено актуалізація
| Перевірити <code>setup.py</code>, <code>history.txt</code>, <code>k2update_push.py</code>
|}
 
history.txt
 
</pre>
У файлі:
Отримання даних із віддаленого репозиторію без зміни поточної гілки:
|-
| З чого почати?;<div style="border:2px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;">
source venv/bin/activate
 
</pre>
 
Приклад шляху:
 
* компонента оновилася коректно;
* новий функціональні можливості функціонує;
* старий функціональні можливості не зламався;
* помилки не відтворюються;
* зміни можна передавати далі.; Завантажити PyCharm можна з офіційної сторінки:


ssh-add ~/.ssh/id_rsa
ssh-add ~/.ssh/id_rsa
=== Linux ===
<pre>
</pre>


* після внесених в коді змін перевіряємо їх командою
</pre>)
</pre>
</pre>
sudo apt update


* додаємо зміни командою
settings_example.py
python git_cmd.py status
<pre>
.git
 
<pre>
 
Для Windows шлях має змогу мати вигляд:
settings.py
!;=== Linux ===
 
=== Windows ===
 
deb1
</pre>
</pre>
./run.bat - для Windows
ssh-keygen -t rsa -b 4096 -C "ваша_електронна_пошта@example.com"
 
<pre>
 
Перевірка статусу:
== 12.; Підготовка нової версії компоненти ==
!; Після актуалізація необхідно перевірити функціональні можливості, який був змінений або залежить від оновленої компоненти.; №
 
sudo rm /etc/apt/preferences.d/nosnap.pref
 
</div>
python k2update_push.py
pycharm-community
 
<pre>
 
Перемикання на іншу локальну гілку, якщо потрібно:
<pre>
== 14.; Тестування на deb1–deb3 ==
 
[[Категорія:Сервер оновлень K2 ERP]]


* комітимо зміни:
== 3.; Відкриття проєкту в PyCharm ==
== 2.; Встановлення, середовища розробки Pycharm та відкриття проекту: ==
sudo apt install git
</pre>
</pre>
<pre>
<pre>


* пушимо зміни на віддалений репозиторій
<pre>
<pre>
== 4.; Встановлення Git ==
git commit -m "Назва коміту"
</pre>
</pre>
== Див.; додатково ==
== Коротко ==
У цьому каталозі запускається файл первинного конфігурація.; Відповідь
<pre>
<pre>


* при подальшій роботі отримуємо зміни з віддаленого репозиторію командою
<pre>
</pre>перевірка статусу
<pre>
=== для Linux ===
token.txt
=== для Windows ===


k2site.txt
Після копіювання потрібно перейти в каталог проєкту:


* відкриваємо папку builder/config
python git_cmd.py push


* в файлі component-list.txt додаємо список компонент, які будемо завантажувати на сервер актуалізація, кожна компонента з нового рядка
Для роботи з віддаленими репозиторіями має змогу використовуватися SSH-авторизація.; | Скопіювати проєкт, виконати <code>first_run</code>, змінити <code>domain_protocol</code> і запустити <code>run</code>
== Див.; додатково ==
|-
python git_cmd.py commit
| Яке середовище розробки застосовується?; У PyCharm потрібно налаштувати Python Interpreter для поточного проєкту.; Інакше локальний запуск має змогу працювати некоректно.; Перевірка
 
Окремо варто відзначити конфігурація Git, роботи з компонентами і публікації оновлень виступає ключовою рисою розробників'''.; Відправити зміни у віддалений репозиторій:
 
python git_cmd.py clone
 
</pre>
У файлі:
Репозиторій скрипта:
 
Приклад переходу:
 
Перевірка віддаленого репозиторію:
<pre>
Приклад:
[[Категорія:Корпоративна Wiki]]
 
</pre>
 
<pre>
 
</pre>
git remote add origin http://git.corp2.eu/k2erp/python/k2/base/site/k2site.git
git remote add origin http://git.corp2.eu/k2erp/python/k2/base/site/k2site.git
sudo snap install pycharm-community --classic
== 11.; конфігурація завантаження компонент на сервер оновлень ==
</pre>копіюєм отриманий ключ і вставляємо у віддалений репозиторій
 
== 8.; Підключення однієї компоненти вручну ==
 
== 6.; конфігурація SSH-ключа ==
 
<pre>


* в папці ignore створюємо файл з назвою компоненти і додаємо файли і папки, які не потрібно завантажувати на сервер актуалізація
cd auto_update


git pull
git config --global user.email "ваша_електронна_пошта@example.com"
__pycache__
components/k2adm
для списку компонент (скрипт auto_update)
== Контрольний чек-лист розгортання ==
== Контрольний чек-лист розгортання ==
cd auto_update


* в файлі token.txt додаємо токен доступу до сервера актуалізація
# відкрити проєкт у PyCharm;
# у правому нижньому куті вибрати '''Python Interpreter''';
# натиснути '''Add New Interpreter''';
# у полі '''Location''' вказати шлях до локальної папки <code>venv</code>;
# у полі '''Base Interpreter''' вказати шлях до виконуваного Python-файлу з поточного віртуального середовища.; k2site.txt
<pre>


git commit -m "Назва комміту"
<pre>
bash run.sh - для Linux


* змінюємо версію в файлі setup.py в корні каталогу компоненти (рядок 5 поле version, як ілюстрація version=2.0.4.43, version_type='stable' (testing))
Каталог зі скриптом потрібно скопіювати в корінь проєкту на рівень із файлом:
</pre>
!; git add .; Помилка


* додаємо характеристика змін в в файлі history.txt в корні каталогу компоненти (1 рядок, як ілюстрація 2.0.4.43 - додавання додаткового поля в форму реєстрації)
</pre>


* переходимо в корінь додатку, на рівні з виконуваним файлом app.py:
pycharm-community
=== авторизація з допомогою логіна і пароля ===
<pre>
<pre>
</pre>
version_type = "testing"
</pre>


* завантажуємо додані в файлі builder/config/component-list.txt компоненти командою:
https://www.jetbrains.com/pycharm/download/?section=linux
components/k2site
git pull
</pre>клонуємо компоненти з віддаленого сервера<pre>
== 13.; Завантаження компоненти в систему актуалізація ==
git add .; # Підключено віддалений репозиторій потрібної компоненти або список компонент через <code>auto_update</code>.; # Налаштовано <code>builder/config/component-list.txt</code>, <code>ignore</code> та <code>token.txt</code> для сервера оновлень.; # Проєкт скопійовано з віддаленого сервера по FTP.sh</code> або <code>first_run.bat</code>.; # Оновлено версію компоненти в <code>setup.py</code> і характеристика змін у <code>history.txt</code>.; # Встановлено та налаштовано Git.; # Перевірено <code>git status</code>, <code>git pull</code>, <code>git push</code>.; # Виконано <code>python k2update_push.py</code>.; # У PyCharm налаштовано Python Interpreter на локальне віртуальне середовище <code>venv</code>.;</pre>
 
=== Ручна активація віртуального середовища ===
 
python git_cmd.py pull
</pre>
sudo apt update


( приклад:<pre>
Документ призначений для розробників, які підключаються до Python-версії K2 ERP, працюють із компонентами системи, вносять зміни в код і передають нові версії на сервер оновлень.; !; ./run.bat
=== Windows ===


# Виконано <code>first_run.;== 5.; Комміт змін на віддалений репозиторій git ==
python git_cmd.py status
<pre>
== 4.; підключаємо віддалений репозиторій git для певної компоненти або списку компонент ==


* перевіряємо зміни локально скопійованої копії проекту з віддаленим репозиторієм
</pre>
відкриваємо проект в консолі і переходимо в каталог auto_update<pre>
sudo apt install default-jdk
.git


git init
Файл знаходиться в корені каталогу компоненти.; | PyCharm
|-
| Де налаштовується локальний Python?; Кожна компонента записується з нового рядка.; | На тестових доменах <code>deb1</code>, <code>deb2</code>, <code>deb3</code>
|}


cd k2
<pre>
<pre>
у полі Base Interpreter додаємо шлях до поточного виконуваного Python файлу (Пр: ../K2CloudERP/venv/bin.python3.12.exe)
=== для Windows ===
інструкція з локального розгортання робочого проєкту [[K2 Cloud ERP|K2 ERP]] забезпечується через '''Розгортання системи K2 ERP Python; додатково реалізовано підключення розробника, конфігурація PyCharm, Git, компонентів, сервера оновлень і процесу публікації нових версій компонент виступає ключовою рисою розробників'''.; ./run.bat - для Windows


* [[K2 Cloud ERP|K2 ERP]]
* [[K2 Cloud ERP|K2 ERP]]
Рядок 245: Рядок 624:
* [[Git]]
* [[Git]]
* [[Розгортання системи K2 Cloud ERP PHP|Розгортання системи K2 ERP PHP]]
* [[Розгортання системи K2 Cloud ERP PHP|Розгортання системи K2 ERP PHP]]
* [[Розгортання K2 ERP]]
* [[Компоненти K2 ERP]]
* [[Сервер оновлень K2 ERP]]
cd components/k2site
git checkout master
https://www.jetbrains.com/pycharm/download/?section=windows
<pre>
як ілюстрація:
== 9.; Коміт змін через auto_update ==
Коміт змін:
=== Запуск з консолі PyCharm ===
Порядок дій:
<pre>

Поточна версія на 17:50, 1 травня 2026

domain_protocol = "http"

https://git.corp2.eu/k2erp/python/k2/base/client/auto_update


<pre>
<pre>
Після встановлення PyCharm потрібно відкрити локально скопійований проєкт K2 ERP.; | У Python Interpreter через локальний <code>venv</code>
|-
| Як працювати з компонентами?; Що перевірити
<pre>

components/k2adm

bash run.sh

Перегляд публічного ключа:
[[Категорія:K2 ERP Python]]

Завантажити PyCharm можна з офіційної сторінки:

<pre>
== 10.; Коміт змін вручну ==

Після копіювання потрібно перейти в каталог:

cat ~/.ssh/id_rsa.pub


[[Категорія:Git]]

Завантаження компонент, зазначених у файлі <code>builder/config/component-list.txt</code>, виконується командою:

git status
[[Категорія:Розгортання K2 ERP]]
Приклад:

Після конфігурація інтерпретатора проєкт можна запускати в режимі debug або з консолі PyCharm.;=== Встановлення PyCharm у Linux з архіву ===

Після зміни версії потрібно додати характеристика змін у файл:


Повний приклад доступний у файлі: /K2CloudERP

Приклад рядка:



Приклад вмісту:

<pre>

<pre>

'''істотно.''' Перед комітом потрібно перевірити <code>git status</code>, щоб випадково не відправити службові файли, локальні конфігурація, тимчасові файли або зайві каталоги.; Питання

<pre>

на:

Публікація змін у віддалений репозиторій:

Після підготовки версії потрібно перейти в корінь застосунку, на рівень із файлом: git pull origin main

2.; Встановлення PyCharm


потрібно додати в словник ключі потрібних компонент.;<pre>

Файл додатково знаходиться в корені каталогу компоненти.; cd auto_update


sudo apt update

builder/config/ignore

cd k2


!;== 1.; Копіювання проєкту і перший запуск ==
Для роботи зі списком компонент можна використовувати скрипт <code>auto_update</code>.; Додавання віддаленого репозиторію:
!; setup.py

Спочатку потрібно скопіювати існуючий робочий проєкт K2 ERP з віддаленого сервера по FTP.; Для клонування актуальних версій компонент виконується команда:


Додавання ключа:

5.; Базове конфігурація Git

sudo apt install default-jdk


sudo apt update

app.py

version_type = "stable"

./first_run.bat

Загальна схема роботи

ej2.min.js Для локального запуску змінити параметр:

Завантажити Git можна зі сторінки:

bash run.sh

'''істотно.''' Для локальної розробки потрібно перевірити, що <code>domain_protocol</code> змінено з <code>https</code> на <code>http</code>.; .gitignore

<pre>

Після завантаження нової версії потрібно оновити змінені компоненти на тестових доменах:

components/k2site Додати зміни: Після внесення змін у коді потрібно перевірити статус:

потрібно створити файл із назвою компоненти та вказати файли або папки, які не потрібно завантажувати.; Клонування компонент:


потрібно вказати токен доступу до сервера оновлень.; 2.0.4.43 - додавання додаткового поля у форму реєстрації

!; | Через <code>auto_update</code> або вручну через Git
|-
| Як публікувати зміни?; Розгортання локального середовища K2 ERP складається з кількох основних етапів:
Можна використовувати PyCharm Community або іншу редакцію, яка підходить для роботи з Python-проєктами.; потрібно вказати список компонент, які будуть завантажуватися на сервер оновлень.; це інструкція з локального запуску робочого проєкту [[K2 ERP]] забезпечується через '''Розгортання системи K2 ERP Python; додатково реалізовано підключення середовища розробки.; | Через Git-коміт і <code>python k2update_push.py</code>
|-
| Де тестувати актуалізація?; Він адаптує віртуальне середовище до поточного локального розташування проєкту.; Для розробки застосовують, коли потрібно середовище '''PyCharm'''.;

sudo snap install pycharm-community --classic Отримання змін із віддаленого сервера:

Ініціалізація Git у поточній директорії:


<pre>

<pre>
git push
<pre>

Запуск ssh-agent:



Ця команда клонує компоненти та перейменовує каталоги поточних версій компонент.; Причина

Windows:

domain_protocol = "https"

Практична порада. Для стабільної роботи з Git краще налаштувати SSH-доступ один раз і далі працювати з репозиторіями без постійного введення логіна та пароля.;

  1. копіювання робочого проєкту з віддаленого сервера;
  2. первинне конфігурація локального середовища;
  3. запуск системи;
  4. відкриття проєкту в PyCharm;
  5. конфігурація Python Interpreter;
  6. встановлення та конфігурація Git;
  7. підключення репозиторіїв компонент;
  8. коміт і публікація змін;
  9. підготовка компонент до сервера оновлень;
  10. тестування на тестових доменах.; Якщо компоненти підключені через auto_update, робота виконується з каталогу:

__pycache__

Для створення нової версії компоненти потрібно змінити версію у файлі:

Після завантаження потрібно розпакувати архів, перейти в каталог bin і запустити:

Для публікації компонент на сервер оновлень застосовується конфігурація в каталозі:

Для тестової версії можна використовувати:

./pycharm.sh

Тестування має підтвердити, що:
Linux:

=== Встановлення PyCharm у Linux через snap ===

=== Linux ===

git config --global user.email "ваша_електронна_пошта@example.com"

{{DISPLAYTITLE:Розгортання системи K2 ERP Python для розробників}}

..\K2CloudERP\venv\Scripts\python.exe

git init

Windows:


<pre>

== Типові помилки ==
{| class="wikitable" style="width:100%;"
deb2

<pre>

git remote -v

Після конфігурація можна запускати застосунок.; Створити коміт: У каталозі:

bash first_run.sh

<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;">
Створення SSH-ключа:

Якщо потрібно підключити лише одну компоненту вручну, потрібно перейти в каталог потрібної компоненти.; component-list.txt
git status

<pre>

<pre>
Після завантаження потрібно запустити інсталятор і встановити Git згідно з інструкціями.;
Отриманий публічний ключ потрібно скопіювати та додати у віддалений Git-репозиторій.;
version = "2.0.4.43"
<pre>

Після завантаження потрібно запустити інсталятор і встановити середовище розробки згідно з інструкціями майстра встановлення.; python git_cmd.py commit

Після цього потрібно відкрити файл налаштувань: components/k2update У файлі:

Windows


Після встановлення Git потрібно вказати ім’я користувача та email.;

.\venv\Scripts\activate

app.py git checkout -b main


eval "$(ssh-agent -s)"

sudo apt install snapd

Якщо під час запуску виникає помилка, потрібно встановити JRE/JDK:

Приклад файлу:

builder/config ../K2CloudERP/venv/bin/python3.12


<pre>

<pre>

Linux: https://git-scm.com/downloads/win

Отримання змін і автоматичне об’єднання з локальною гілкою:

Перевірка статусу:
</div>

git config --global user.name "Ваше Ім'я"

python git_cmd.py clone
Git потрібен для роботи з репозиторіями компонент K2 ERP, отримання оновлень, комітів і публікації змін.; git fetch origin

'''Коротко.''' Щоб почати роботу, потрібно скопіювати проєкт, виконати первинне конфігурація через <code>first_run</code>, запустити систему локально, підключити PyCharm, налаштувати Git і працювати з компонентами через репозиторії або скрипт <code>auto_update</code>.;== 7.; Підключення компонент через auto_update ==

[[Категорія:Розробка K2 ERP]]
Під час подальшої роботи потрібно регулярно отримувати зміни з віддаленого репозиторію:
deb3
|-
| 1
| Проєкт скопійовано з віддаленого сервера по FTP
|-
| 2
| Виконано <code>first_run.sh</code> або <code>first_run.bat</code>
|-
| 3
| У <code>k2cfg.py</code> змінено <code>domain_protocol</code> з <code>https</code> на <code>http</code>
|-
| 4
| Проєкт запускається через <code>run.sh</code> або <code>run.bat</code>
|-
| 5
| У PyCharm налаштовано Python Interpreter на локальне <code>venv</code>
|-
| 6
| Встановлено та налаштовано Git
|-
| 7
| Налаштовано SSH або інший спосіб авторизації в репозиторії
|-
| 8
| Підключено потрібні компоненти вручну або через <code>auto_update</code>
|-
| 9
| Перевірено роботу <code>git status</code>, <code>git pull</code>, <code>git push</code>
|-
| 10
| Налаштовано <code>builder/config/component-list.txt</code>
|-
| 11
| Налаштовано файли <code>ignore</code> для компонент
|-
| 12
| Додано токен у <code>token.txt</code>
|-
| 13
| Оновлено версію компоненти в <code>setup.py</code>
|-
| 14
| Додано характеристика змін у <code>history.txt</code>
|-
| 15
| Виконано <code>python k2update_push.py</code>
|-
| 16
| Оновлено компоненти на <code>deb1</code>–<code>deb3</code>
|-
| 17
| Перевірено функціональні можливості після актуалізація
|}

=== Встановлення PyCharm у Windows ===

{| class="wikitable" style="width:100%;"
./run.bat
Створення локальної гілки <code>main</code> і перемикання на неї:
/K2CloudERP/cfg/k2/k2/k2cfg.py
|-
| Проєкт не запускається локально
| Не виконано <code>first_run</code> або неправильно налаштоване середовище
| Повторити <code>first_run</code>, перевірити <code>venv</code>
|-
| Локальний запуск відкривається через HTTPS
| Не змінено <code>domain_protocol</code>
| Перевірити <code>k2cfg.py</code>
|-
| PyCharm не бачить залежності
| Не вибрано правильний Python Interpreter
| Перевірити шлях до <code>venv</code>
|-
| Git не пушить зміни
| Не налаштовано авторизацію або немає прав
| Перевірити SSH-ключ, remote URL і доступи
|-
| На сервер оновлень потрапляють зайві файли
| Не налаштовано <code>ignore</code>
| Перевірити файл компоненти в <code>builder/config/ignore</code>
|-
| Компонента не оновлюється на тестовому домені
| Не змінено версію або не завантажено актуалізація
| Перевірити <code>setup.py</code>, <code>history.txt</code>, <code>k2update_push.py</code>
|}

history.txt

У файлі: Отримання даних із віддаленого репозиторію без зміни поточної гілки:

З чого почати?;

source venv/bin/activate

Приклад шляху:

  • компонента оновилася коректно;
  • новий функціональні можливості функціонує;
  • старий функціональні можливості не зламався;
  • помилки не відтворюються;
  • зміни можна передавати далі.; Завантажити PyCharm можна з офіційної сторінки:

ssh-add ~/.ssh/id_rsa

Linux



settings_example.py

.git

<pre>

Для Windows шлях має змогу мати вигляд:
settings.py
!;=== Linux ===

=== Windows ===

deb1

ssh-keygen -t rsa -b 4096 -C "ваша_електронна_пошта@example.com"


Перевірка статусу:
== 12.; Підготовка нової версії компоненти ==
!; Після актуалізація необхідно перевірити функціональні можливості, який був змінений або залежить від оновленої компоненти.; №

sudo rm /etc/apt/preferences.d/nosnap.pref

</div>
python k2update_push.py
pycharm-community

<pre>

Перемикання на іншу локальну гілку, якщо потрібно:
<pre>
== 14.; Тестування на deb1–deb3 ==

[[Категорія:Сервер оновлень K2 ERP]]

== 3.; Відкриття проєкту в PyCharm ==
sudo apt install git

<pre>
== 4.; Встановлення Git ==
git commit -m "Назва коміту"

Див.; додатково

Коротко

У цьому каталозі запускається файл первинного конфігурація.; Відповідь


<pre>
<pre>
token.txt

Після копіювання потрібно перейти в каталог проєкту:

python git_cmd.py push

Для роботи з віддаленими репозиторіями має змогу використовуватися SSH-авторизація.; | Скопіювати проєкт, виконати <code>first_run</code>, змінити <code>domain_protocol</code> і запустити <code>run</code>
|-
| Яке середовище розробки застосовується?; У PyCharm потрібно налаштувати Python Interpreter для поточного проєкту.; Інакше локальний запуск має змогу працювати некоректно.; Перевірка

Окремо варто відзначити конфігурація Git, роботи з компонентами і публікації оновлень виступає ключовою рисою розробників'''.; Відправити зміни у віддалений репозиторій:

python git_cmd.py clone

У файлі: Репозиторій скрипта:

Приклад переходу:

Перевірка віддаленого репозиторію:

Приклад:
[[Категорія:Корпоративна Wiki]]


git remote add origin http://git.corp2.eu/k2erp/python/k2/base/site/k2site.git

11.; конфігурація завантаження компонент на сервер оновлень

8.; Підключення однієї компоненти вручну

6.; конфігурація SSH-ключа


cd auto_update

== Контрольний чек-лист розгортання ==

# відкрити проєкт у PyCharm;
# у правому нижньому куті вибрати '''Python Interpreter''';
# натиснути '''Add New Interpreter''';
# у полі '''Location''' вказати шлях до локальної папки <code>venv</code>;
# у полі '''Base Interpreter''' вказати шлях до виконуваного Python-файлу з поточного віртуального середовища.; k2site.txt
<pre>

<pre>

Каталог зі скриптом потрібно скопіювати в корінь проєкту на рівень із файлом:
; git add .; Помилка

version_type = "testing"

https://www.jetbrains.com/pycharm/download/?section=linux git pull

13.; Завантаження компоненти в систему актуалізація

Ручна активація віртуального середовища

python git_cmd.py pull

sudo apt update

Документ призначений для розробників, які підключаються до Python-версії K2 ERP, працюють із компонентами системи, вносять зміни в код і передають нові версії на сервер оновлень.; !; ./run.bat

Windows

python git_cmd.py status

Файл знаходиться в корені каталогу компоненти.; | PyCharm

На тестових доменах deb1, deb2, deb3

* K2 ERP
* K2 ERP Python для розробників
* Python
* PyCharm
* Git
* Розгортання системи K2 ERP PHP
* Розгортання K2 ERP
* Компоненти K2 ERP
* Сервер оновлень K2 ERP

cd components/k2site
git checkout master
https://www.jetbrains.com/pycharm/download/?section=windows
як ілюстрація:

9.; Коміт змін через auto_update

Коміт змін:

Запуск з консолі PyCharm

Порядок дій: