Встановлення K2 ERP
Розгортання K2 Cloud ERP Python для розробників — це інструкція з локального запуску робочого проєкту K2 Cloud ERP, підключення середовища розробника, налаштування PyCharm, роботи з Git, підключення репозиторіїв компонент і завантаження нових версій компонент у систему оновлення.
Ця інструкція призначена для розробників, які отримують існуючий проєкт K2 Cloud ERP, запускають його локально, підключають віртуальне середовище, працюють із компонентами та передають зміни через Git і систему оновлення.
1. Копіювання існуючого проєкту по FTP і перший запуск
Спочатку потрібно скопіювати з віддаленого сервера існуючий проєкт по FTP.
Після копіювання потрібно перейти в каталог:
/K2CloudERP
У цьому каталозі запускається файл першого запуску first_run для налаштування параметрів віртуального середовища в поточному локальному розташуванні.
Для Linux використовується команда:
bash first_run.sh
Для Windows використовується команда:
./first_run.bat
Після цього потрібно перейти у файл налаштувань:
/K2CloudERP/cfg/k2/k2/k2cfg.py
У цьому файлі потрібно змінити параметр:
domain_protocol
Значення потрібно змінити з:
https
на:
http
Після зміни налаштувань можна запускати додаток.
Для Linux:
bash run.sh
Для Windows:
./run.bat
2. Встановлення середовища розробки PyCharm та відкриття проєкту
Для розробки використовується середовище PyCharm.
Встановлення PyCharm у Linux через snap
Для Linux можна встановити PyCharm через snap.
Спочатку потрібно виконати команди:
sudo rm /etc/apt/preferences.d/nosnap.pref sudo apt update sudo apt install snapd sudo snap install pycharm-community --classic
Після встановлення PyCharm запускається командою:
pycharm-community
Встановлення PyCharm у Linux через архів із сайту JetBrains
Також PyCharm можна встановити через завантаження архіву з офіційного сайту JetBrains:
https://www.jetbrains.com/pycharm/download/?section=linux
Після завантаження архів потрібно розпакувати, перейти в папку:
bin
і запустити файл:
./pycharm.sh
Якщо під час запуску виникає помилка, потрібно встановити JRE/JDK командами:
sudo apt update sudo apt install default-jdk
Встановлення PyCharm у Windows
Для Windows потрібно завантажити архів із сайту JetBrains:
https://www.jetbrains.com/pycharm/download/?section=windows
Після цього потрібно розпакувати архів, запустити файл встановлення та встановити PyCharm згідно з інструкціями інсталятора.
Відкриття проєкту в PyCharm
Після встановлення потрібно відкрити середовище розробки PyCharm.
Далі потрібно відкрити поточний завантажений проєкт K2 Cloud ERP і налаштувати змінне середовище для цього проєкту.
У правому нижньому куті PyCharm потрібно вибрати:
Python Interpreter
Потім:
Add new Interpreter
У полі Location потрібно додати шлях до поточної папки:
venv
У полі Base Interpreter потрібно додати шлях до поточного виконуваного Python-файлу.
Приклад:
../K2CloudERP/venv/bin.python3.12.exe
Після налаштування інтерпретатора можна запускати проєкт у debug-режимі через кнопку у правому верхньому куті PyCharm.
Також проєкт можна запускати з консолі PyCharm.
Для Linux:
bash run.sh
Для Windows:
./run.bat
Ручна активація віртуального середовища
Для Linux:
source venv/bin/activate
Для Windows:
.\venv\Scripts\activate
3. Встановлення та налаштування Git
Для роботи з компонентами потрібно встановити й налаштувати Git.
Встановлення Git у Linux
Для Linux використовується команда:
sudo apt update sudo apt install git
Встановлення Git у Windows
Для Windows потрібно завантажити Git за посиланням:
https://git-scm.com/downloads/win
Після завантаження потрібно розпакувати архів, запустити файл встановлення та встановити Git згідно з інструкціями.
Налаштування користувача Git
Після встановлення потрібно налаштувати ім’я користувача:
git config --global user.name "Ваше Ім'я"
Також потрібно налаштувати email:
git config --global user.email "ваша_електронна_пошта@example.com"
Авторизація в Git
Можливі два варіанти авторизації:
авторизація за допомогою логіна й пароля;
авторизація через SSH.
Налаштування SSH-ключа
Для створення SSH-ключа потрібно виконати команду:
ssh-keygen -t rsa -b 4096 -C "ваша_електронна_пошта@example.com"
Після цього потрібно запустити ssh-agent:
eval "$(ssh-agent -s)"
Далі потрібно додати ключ:
ssh-add ~/.ssh/id_rsa
Щоб переглянути публічний ключ, використовується команда:
cat ~/.ssh/id_rsa.pub
Отриманий ключ потрібно скопіювати й вставити у віддалений репозиторій.
4. Підключення віддаленого репозиторію Git для компоненти або списку компонент
Підключення репозиторію можна виконувати для списку компонент або для однієї компоненти вручну.
Підключення списку компонент через auto_update
Для роботи зі списком компонент використовується скрипт:
auto_update
Потрібно скопіювати каталог зі скриптом і вставити його в корінь проєкту на рівні з виконуваним файлом:
app.py
Посилання на каталог:
https://git.corp2.eu/k2erp/python/k2/base/client/auto_update
Після цього потрібно відкрити проєкт у консолі й перейти в каталог:
cd auto_update
Далі потрібно відкрити файл:
settings.py
У словник потрібно додати ключі з потрібними компонентами.
Повний список компонент міститься у файлі:
settings_example.py
Після налаштування потрібно виконати команду для клонування актуальних версій компонент і перейменування каталогів поточних версій компонент:
python git_cmd.py clone
Підключення однієї компоненти вручну
Для підключення однієї компоненти потрібно перейти в папку потрібної компоненти.
Наприклад, для компоненти k2site:
cd components/k2site
Далі потрібно ініціалізувати Git у поточній директорії:
git init
Створити локальну гілку main і перемкнутися на неї:
git checkout -b main
За потреби можна перемкнутися на іншу локальну гілку:
git checkout master
Далі потрібно додати віддалений репозиторій:
git remote add origin http://git.corp2.eu/k2erp/python/k2/base/site/k2site.git
Перевірити підключений репозиторій:
git remote -v
Після цього потрібно отримати дані з віддаленого репозиторію, але не змінювати поточну робочу гілку:
git fetch origin
Щоб отримати дані з віддаленого репозиторію та автоматично об’єднати їх із поточною локальною гілкою, використовується команда:
git pull origin main
Для перевірки змін локально скопійованої копії проєкту порівняно з віддаленим репозиторієм використовується команда:
git status
5. Коміт змін на віддалений репозиторій Git
Коміт змін можна виконувати автоматично через скрипт auto_update або вручну.
Автоматичний коміт через auto_update
Потрібно відкрити проєкт у консолі й перейти в каталог:
cd auto_update
Після цього потрібно клонувати компоненти з віддаленого сервера:
python git_cmd.py clone
Перевірити статус:
python git_cmd.py status
Виконати коміт змін:
python git_cmd.py commit
Отримати зміни з віддаленого сервера:
python git_cmd.py pull
Запушити зміни на віддалений репозиторій:
python git_cmd.py push
Ручний коміт змін
Після внесення змін у коді потрібно перевірити їх командою:
git status
Далі потрібно додати зміни:
git add .
Потім виконати коміт:
git commit -m "Назва комміту"
Після цього потрібно запушити зміни на віддалений репозиторій:
git push
Під час подальшої роботи зміни з віддаленого репозиторію отримуються командою:
git pull
6. Налаштування завантаження компонент на сервер оновлення
Для налаштування завантаження компонент на сервер оновлення потрібно відкрити папку:
builder/config
У файлі:
component-list.txt
потрібно додати список компонент, які будуть завантажуватися на сервер оновлення.
Кожна компонента додається з нового рядка.
Приклад:
components/k2update components/k2adm components/k2site
У папці:
ignore
потрібно створити файл із назвою компоненти та додати в нього файли й папки, які не потрібно завантажувати на сервер оновлення.
Приклад файлу:
k2site.txt
Приклад вмісту:
__pycache__ .gitignore .git ej2.min.js
У файлі:
token.txt
потрібно додати токен доступу до сервера оновлення.
7. Завантаження нової версії компоненти в систему оновлення
Для створення нової версії компоненти, stable або beta/testing, потрібно змінити версію у файлі:
setup.py
Файл розташований у корені каталогу компоненти.
Потрібно змінити рядок 5, поле:
version
Приклад:
version=2.0.4.43
Також потрібно вказати тип версії:
version_type='stable'
або testing-версію:
version_type='testing'
Після цього потрібно додати опис змін у файл:
history.txt
Файл розташований у корені каталогу компоненти.
Опис змін додається в один рядок.
Приклад:
2.0.4.43 - додавання додаткового поля в форму реєстрації
Далі потрібно перейти в корінь додатку, на рівні з виконуваним файлом:
app.py
Команда:
cd k2
Після цього потрібно завантажити компоненти, додані у файлі:
builder/config/component-list.txt
Для завантаження використовується команда:
python k2update_push.py
8. Оновлення змінених версій компонент на тестових доменах
Після завантаження нових версій компонент потрібно оновити змінені версії компонент на тестових доменах:
deb1 deb2 deb3
Після оновлення потрібно протестувати функціонал.
Тестування має підтвердити, що нові версії компонент працюють коректно, не ламають існуючі сценарії й можуть бути використані далі.
Коротко
| Етап | Що робиться |
|---|---|
| 1 | Копіюється існуючий проєкт по FTP, запускається first_run і змінюється domain_protocol з https на http. |
| 2 | Встановлюється PyCharm, відкривається проєкт і налаштовується Python Interpreter. |
| 3 | Встановлюється Git, налаштовується користувач і SSH-ключ. |
| 4 | Підключаються віддалені репозиторії компонент через auto_update або вручну. |
| 5 | Комітяться та пушаться зміни через auto_update або вручну. |
| 6 | Налаштовується список компонент для завантаження на сервер оновлення. |
| 7 | Створюється нова версія компоненти й завантажується через k2update_push.py. |
| 8 | Компоненти оновлюються на тестових доменах deb1-deb3 і тестуються. |