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

Матеріал з K2 ERP Wiki Ukraine — База знань з автоматизації та санкцій в Україні
Версія від 21:20, 28 квітня 2026, створена R (обговорення | внесок) (Розгортання K2 ERP для розробників Python)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку

Розгортання системи K2 ERP Python для розробників — інструкція з локального розгортання робочого проєкту K2 ERP, підключення розробника, налаштування PyCharm, Git, компонентів, сервера оновлень і процесу публікації нових версій компонент.

Розгортання локального робочого проєкту

Розгортання локально робочого проекту K2 ERP та підключення до нього розробника

1. Копіювання існуючого проекту по ftp, перший запуск

  • копіюєм з віддаленого сервера існуючий проект по ftp
  • переходимо в каталог /K2CloudERP і запускаємо файл first_run для налаштування параметрів віртуального середовища в поточному локальному розташуванні командою:
bash first_run.sh - для Linux
./first_run.bat - для Windows
  • переходимо в файл налаштувань /K2CloudERP/cfg/k2/k2/k2cfg.py і змінюємо там domain_protocol з https на http
  • запускаємо додаток:
bash run.sh - для Linux
./run.bat - для Windows

2. Встановлення, середовища розробки Pycharm та відкриття проекту:

для Linux

  • встановлення через snap
sudo rm /etc/apt/preferences.d/nosnap.pref
sudo apt update
sudo apt install snapd
sudo snap install pycharm-community --classic
pycharm-community
  • встановлення через завантаження архіву з сайту

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

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

./pycharm.sh

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

sudo apt update sudo apt install default-jdk

для Windows

Завантаження архіву

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

розпаковуємо архів, запускаємо файл встановленя і встановлюємо згідно інструкцій

  • відкриваємо середовище розробки Pycharm,
  • відкриваємо поточний завантажений проект та налаштовуємо змінне середовище для поточного проекту:

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

у полі locations додаємо шлях до поточної папки venv

у полі Base Interpreter додаємо шлях до поточного виконуваного Python файлу (Пр: ../K2CloudERP/venv/bin.python3.12.exe)

  • запускаємо проект в дебаг режимі (кнопка в правому верхньому куті)
  • запускаємо проект з консолі Pycharm командою:
bash run.sh - для Linux
./run.bat - для Windows
  • активація віртуального середовища вручну
source venv/bin/activate - для Linux
.\venv\Scripts\activate - для Windows

3. Встановлення та налаштування git

  • встановлення

для Linux

sudo apt update
sudo apt install git

для Windows

завантажуємо архів https://git-scm.com/downloads/win розпаковуємо архів, запускаємо файл встановленя і встановлюємо згідно інструкцій

  • налалштування git

налаштування користувача

git config --global user.name "Ваше Ім'я"
git config --global user.email "ваша_електронна_пошта@example.com"

авторизація з допомогою логіна і пароля

авторизація через ssh

Налаштування SSH ключа

ssh-keygen -t rsa -b 4096 -C "ваша_електронна_пошта@example.com"
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub

копіюєм отриманий ключ і вставляємо у віддалений репозиторій

4. підключаємо віддалений репозиторій git для певної компоненти або списку компонент

для списку компонент (скрипт auto_update)

копіюєм каталог із скриптом і вставляємо в корінь проекту на рівні з виконуваним файлом app.py https://git.corp2.eu/k2erp/python/k2/base/client/auto_update

відкриваємо проект в консолі і переходимо в каталог auto_update

cd auto_update

відкриваємо файл settings.py і додаємо в словник ключі з потрібними компонентами (повний список в файлі settings_example.py)

  • виконуємо в консолі команду, для клонування актуальних версій компонент і перейменовування каталогів поточних версій компонент
python git_cmd.py clone

для одної компоненти вручну

  • переходимо в папку необхідної компоненти, наприклад k2site
cd components/k2site
  • ініціалізуєм git в поточній директорії
git init
git checkout -b main (створюємо локальну гілку 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))
  • додаємо опис змін в в файлі history.txt в корні каталогу компоненти (1 рядок, наприклад 2.0.4.43 - додавання додаткового поля в форму реєстрації)
  • переходимо в корінь додатку, на рівні з виконуваним файлом app.py:
cd k2
  • завантажуємо додані в файлі builder/config/component-list.txt компоненти командою:
python k2update_push.py

8. Оновлюємо змінені версії компонент на тестових доменах deb1-deb3 та тестуємо функціонал.

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

  1. Проєкт скопійовано з віддаленого сервера по FTP.
  2. Виконано first_run.sh або first_run.bat.
  3. У файлі /K2CloudERP/cfg/k2/k2/k2cfg.py для локального запуску змінено domain_protocol з https на http.
  4. Проєкт запускається через run.sh або run.bat.
  5. У PyCharm налаштовано Python Interpreter на локальне віртуальне середовище venv.
  6. Встановлено та налаштовано Git.
  7. Підключено віддалений репозиторій потрібної компоненти або список компонент через auto_update.
  8. Перевірено git status, git pull, git push.
  9. Налаштовано builder/config/component-list.txt, ignore та token.txt для сервера оновлень.
  10. Оновлено версію компоненти в setup.py і опис змін у history.txt.
  11. Виконано python k2update_push.py.
  12. Оновлено компоненти на тестових доменах deb1deb3 та перевірено функціонал.

Див. також