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

Встановлення K2 ERP

Матеріал з K2 ERP Wiki


SEO title: Розгортання K2 Cloud ERP Python для розробників — локальний запуск, PyCharm, Git, компоненти, оновлення SEO description: Інструкція з локального розгортання робочого проєкту K2 Cloud ERP Python для розробників: копіювання проєкту по FTP, перший запуск, налаштування віртуального середовища, запуск K2 Cloud ERP, встановлення PyCharm, налаштування Python Interpreter, встановлення Git, підключення віддалених репозиторіїв компонент, коміт змін, завантаження компонент на сервер оновлення та тестування на deb1-deb3. SEO keywords: K2 Cloud ERP Python, розгортання K2 Cloud ERP, встановлення K2 ERP Linux, K2 ERP Python, PyCharm K2 ERP, Git K2 ERP, auto_update K2 ERP, k2update_push.py, компоненти K2 ERP, локальний запуск K2 Cloud ERP, first_run.sh, run.sh, k2cfg.py, Реплікатор K2 ERP, K2 ERP для розробників Alternative to:


Розгортання 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 і тестуються.

Див. також