Розгортання K2 ERP
Розгортання системи K2 Cloud ERP Python для розробників — це технічна інструкція для підготовки локального робочого середовища розробника, який працює з проєктом K2 Cloud ERP на Python.
Інструкція описує повний базовий цикл: копіювання існуючого проєкту з віддаленого сервера, перший запуск, налаштування конфігурації, відкриття проєкту в PyCharm, підключення Python Interpreter, встановлення Git, авторизацію через SSH, підключення репозиторіїв компонентів, роботу зі скриптом auto_update, коміт змін, налаштування завантаження компонент на сервер оновлення, створення нової версії компоненти та тестування на доменах deb1-deb3.
Головна ідея: ця інструкція потрібна не кінцевому користувачу ERP, а розробнику або технічному партнеру K2, який має локально запустити K2 Cloud ERP, підключити компоненти, працювати з Git і готувати зміни до системи оновлень.
Передумови
Перед початком розгортання розробнику потрібно мати доступ до існуючого проєкту K2 Cloud ERP на віддаленому сервері, FTP-доступ для копіювання файлів, доступ до репозиторіїв Git, права на роботу з потрібними компонентами та технічні параметри для сервера оновлень, якщо планується публікація нових версій компонент.
Також бажано заздалегідь підготувати:
- робочий комп’ютер на Linux або Windows;
- доступ до FTP;
- Python-середовище, яке використовується проєктом;
- PyCharm Community або іншу сумісну IDE;
- Git;
- SSH-ключ або логін і пароль для репозиторію;
- доступ до тестових доменів deb1, deb2, deb3;
- токен доступу до сервера оновлення.
1. Копіювання існуючого проєкту по FTP і перший запуск
Перший етап — отримати локальну копію вже існуючого робочого проєкту K2 Cloud ERP.
1.1. Скопіювати проєкт з віддаленого сервера
Потрібно скопіювати з віддаленого сервера існуючий проєкт по FTP.
Після копіювання на локальному комп’ютері має з’явитися каталог:
/K2CloudERP
1.2. Перейти в каталог проєкту
Перейдіть у каталог локального проєкту:
cd /K2CloudERP
1.3. Виконати перший запуск
Перший запуск потрібен для налаштування параметрів віртуального середовища в поточному локальному розташуванні.
Для Linux:
bash first_run.sh
Для Windows:
./first_run.bat
1.4. Змінити протокол домену в конфігурації
Після першого запуску потрібно перейти у файл налаштувань:
/K2CloudERP/cfg/k2/k2/k2cfg.py
У цьому файлі потрібно змінити значення параметра:
domain_protocol = "https"
на:
domain_protocol = "http"
Це потрібно для локального запуску проєкту в режимі розробки.
1.5. Запустити додаток
Для Linux:
bash run.sh
Для Windows:
./run.bat
Після цього локальний додаток K2 Cloud ERP має запуститися в робочому середовищі розробника.
2. Встановлення PyCharm і відкриття проєкту
Для роботи з кодом K2 Cloud ERP рекомендується використовувати PyCharm.
2.1. Встановлення PyCharm для Linux через snap
Спочатку потрібно видалити обмеження для snap, якщо воно є:
sudo rm /etc/apt/preferences.d/nosnap.pref
Оновити пакети:
sudo apt update
Встановити snapd:
sudo apt install snapd
Встановити PyCharm Community:
sudo snap install pycharm-community --classic
Запустити PyCharm:
pycharm-community
2.2. Встановлення PyCharm для Linux через архів
Потрібно завантажити архів PyCharm для Linux із сайту JetBrains:
https://www.jetbrains.com/pycharm/download/?section=linux
Після завантаження потрібно розпакувати архів, перейти в папку:
bin
і запустити PyCharm:
./pycharm.sh
Якщо під час запуску виникла помилка, потрібно встановити JRE/JDK:
sudo apt update
sudo apt install default-jdk
Після цього повторити запуск:
./pycharm.sh
2.3. Встановлення PyCharm для Windows
Для Windows потрібно завантажити PyCharm із сайту JetBrains:
https://www.jetbrains.com/pycharm/download/?section=windows
Після завантаження потрібно розпакувати архів або запустити файл встановлення та встановити PyCharm згідно з інструкціями інсталятора.
2.4. Відкриття проєкту в PyCharm
Після встановлення потрібно:
- відкрити PyCharm;
- вибрати відкриття існуючого проєкту;
- відкрити локально завантажений каталог K2CloudERP.
2.5. Налаштування Python Interpreter
Після відкриття проєкту потрібно налаштувати змінне середовище для поточного проєкту.
У правому нижньому куті PyCharm потрібно вибрати:
Python Interpreter
Далі вибрати:
Add new Interpreter
У полі Location потрібно додати шлях до поточної папки venv.
У полі Base Interpreter потрібно додати шлях до поточного виконуваного Python-файлу.
Приклад для Linux:
../K2CloudERP/venv/bin/python3.12
Приклад для Windows:
..\K2CloudERP\venv\Scripts\python.exe
Після налаштування інтерпретатора PyCharm має використовувати віртуальне середовище саме цього локального проєкту.
2.6. Запуск проєкту в debug-режимі
Для запуску в debug-режимі потрібно скористатися кнопкою запуску в правому верхньому куті PyCharm.
Також можна запускати проєкт із консолі PyCharm.
Для Linux:
bash run.sh
Для Windows:
./run.bat
2.7. Ручна активація віртуального середовища
Для Linux:
source venv/bin/activate
Для Windows:
.\venv\Scripts\activate
Після активації середовища команди Python і pip будуть виконуватися в межах локального venv цього проєкту.
3. Встановлення та налаштування Git
Git потрібен для роботи з компонентами K2, отримання змін із віддалених репозиторіїв, фіксації локальних змін і публікації змін у віддалений репозиторій.
3.1. Встановлення Git для Linux
Оновити пакети:
sudo apt update
Встановити Git:
sudo apt install git
Перевірити встановлення:
git --version
3.2. Встановлення Git для Windows
Для Windows потрібно завантажити Git:
https://git-scm.com/downloads/win
Після завантаження потрібно розпакувати архів або запустити файл встановлення та встановити Git згідно з інструкціями.
Після встановлення бажано перевірити Git у консолі:
git --version
3.3. Налаштування користувача Git
Потрібно вказати ім’я користувача:
git config --global user.name "Ваше Ім'я"
Потрібно вказати email:
git config --global user.email "ваша_електронна_пошта@example.com"
Перевірити налаштування можна командою:
git config --global --list
3.4. Авторизація в Git
Можливі два варіанти авторизації:
- авторизація за допомогою логіна і пароля;
- авторизація через SSH.
3.5. Налаштування 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
Отриманий ключ потрібно скопіювати й додати у віддалений Git-репозиторій.
4. Підключення віддаленого Git-репозиторію для компоненти або списку компонент
Компоненти K2 можна підключати двома способами:
- автоматично через скрипт auto_update;
- вручну для однієї конкретної компоненти.
4.1. Підключення списку компонент через auto_update
Для списку компонент використовується скрипт auto_update.
Потрібно скопіювати каталог зі скриптом і вставити його в корінь проєкту на рівні з виконуваним файлом:
app.py
Репозиторій скрипта:
https://git.corp2.eu/k2erp/python/k2/base/client/auto_update
Після копіювання потрібно відкрити проєкт у консолі й перейти в каталог:
cd auto_update
Далі потрібно відкрити файл:
settings.py
У файл settings.py потрібно додати в словник ключі з потрібними компонентами.
Повний список компонент можна дивитися у файлі:
settings_example.py
Після налаштування потрібно виконати команду для клонування актуальних версій компонент і перейменування каталогів поточних версій компонент:
python git_cmd.py clone
4.2. Підключення однієї компоненти вручну
Для ручного підключення однієї компоненти потрібно перейти в папку потрібної компоненти.
Наприклад, для k2site:
cd components/k2site
Ініціалізувати Git у поточній директорії:
git init
Створити локальну гілку main і перемкнутися на неї:
git checkout -b main
За потреби можна перемкнутися на іншу локальну гілку, наприклад master:
git checkout master
Додати віддалений репозиторій:
git remote add origin http://git.corp2.eu/k2erp/python/k2/base/site/k2site.git
Перевірити підключений remote:
git remote -v
Отримати дані з віддаленого репозиторію, але не змінювати поточну робочу гілку:
git fetch origin
Отримати дані з віддаленого репозиторію та автоматично об’єднати їх із поточною локальною гілкою:
git pull origin main
Перевірити зміни локально скопійованої копії проєкту з віддаленим репозиторієм:
git status
5. Коміт змін на віддалений Git-репозиторій
Зміни можна комітити двома способами:
- автоматично через auto_update;
- вручну через стандартні команди Git.
5.1. Коміт змін через 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
5.2. Коміт змін вручну
Після внесення змін у код потрібно перевірити статус:
git status
Додати зміни:
git add .
Створити коміт:
git commit -m "Назва комміту"
Запушити зміни на віддалений репозиторій:
git push
При подальшій роботі потрібно отримувати зміни з віддаленого репозиторію командою:
git pull
6. Налаштування завантаження компонент на сервер оновлення
Для завантаження компонент на сервер оновлення потрібно налаштувати конфігурацію в каталозі:
builder/config
6.1. Налаштування component-list.txt
Потрібно відкрити файл:
builder/config/component-list.txt
У цьому файлі потрібно додати список компонент, які будуть завантажуватися на сервер оновлення.
Кожна компонента додається з нового рядка.
Приклад:
components/k2update
components/k2adm
components/k2site
6.2. Налаштування ignore для компонент
У папці:
builder/config/ignore
потрібно створити файл із назвою компоненти.
Наприклад:
k2site.txt
У цей файл потрібно додати файли й папки, які не потрібно завантажувати на сервер оновлення.
Приклад вмісту:
__pycache__
.gitignore
.git
ej2.min.js
6.3. Налаштування token.txt
У файл:
builder/config/token.txt
потрібно додати токен доступу до сервера оновлення.
Цей токен використовується для авторизації під час завантаження компонент.
7. Завантаження нової версії компоненти в систему оновлення
Для створення нової версії компоненти потрібно підготувати її як stable або beta/testing-версію.
7.1. Змінити версію компоненти в setup.py
Потрібно відкрити файл:
setup.py
у корені каталогу компоненти.
У файлі потрібно змінити версію в полі version.
Приклад:
version = "2.0.4.43"
Також потрібно вказати тип версії.
Для stable-версії:
version_type = "stable"
Для testing/beta-версії:
version_type = "testing"
7.2. Додати опис змін у history.txt
Потрібно відкрити файл:
history.txt
у корені каталогу компоненти.
У першому рядку потрібно додати опис змін.
Приклад:
2.0.4.43 - додавання додаткового поля в форму реєстрації
7.3. Перейти в корінь додатку
Потрібно перейти в корінь додатку на рівні з виконуваним файлом app.py.
Приклад:
cd k2
7.4. Завантажити компоненти на сервер оновлення
Після того як компоненти додані в:
builder/config/component-list.txt
потрібно виконати команду:
python k2update_push.py
Ця команда завантажує в систему оновлення компоненти, вказані у списку.
8. Оновлення компонент на тестових доменах deb1-deb3
Після завантаження нових версій компонент у систему оновлення потрібно оновити змінені компоненти на тестових доменах:
- deb1;
- deb2;
- deb3.
Після оновлення потрібно протестувати функціонал.
Мета цього етапу — перевірити, що нова версія компоненти:
- коректно встановлюється;
- не ламає наявний функціонал;
- сумісна з поточним середовищем;
- не створює помилок у залежних модулях;
- працює відповідно до опису змін у history.txt.
Рекомендований порядок роботи розробника
- Скопіювати проєкт по FTP.
- Виконати first_run.sh або first_run.bat.
- Змінити domain_protocol з https на http.
- Запустити проєкт через run.sh або run.bat.
- Відкрити проєкт у PyCharm.
- Налаштувати Python Interpreter на локальний venv.
- Встановити й налаштувати Git.
- Налаштувати SSH-ключ або інший спосіб авторизації.
- Підключити потрібні компоненти через auto_update або вручну.
- Внести зміни в код.
- Перевірити git status.
- Закомітити й запушити зміни.
- Налаштувати builder/config/component-list.txt.
- Налаштувати ignore для компонент.
- Додати токен у token.txt.
- Оновити версію в setup.py.
- Додати опис змін у history.txt.
- Виконати python k2update_push.py.
- Оновити компоненти на deb1, deb2, deb3.
- Протестувати функціонал.
Типові помилки під час локального розгортання
Перша помилка — не виконати first_run після копіювання проєкту. У такому разі віртуальне середовище може залишитися прив’язаним до старого шляху.
Друга помилка — не змінити domain_protocol з https на http для локальної роботи. Через це локальний запуск може працювати некоректно.
Третя помилка — підключити в PyCharm неправильний Python Interpreter. Якщо IDE використовує не той venv, залежності можуть не збігатися з проєктом.
Четверта помилка — працювати з компонентами без Git або без перевірки git status. Це ускладнює контроль змін.
П’ята помилка — пушити зміни без попереднього pull. Через це можуть виникати конфлікти або втрата актуального коду.
Шоста помилка — оновити версію компоненти в setup.py, але забути опис змін у history.txt.
Сьома помилка — завантажити компоненту на сервер оновлення й не перевірити її на тестових доменах deb1-deb3.
Контрольний чек-лист розробника
- Проєкт скопійовано по FTP.
- Виконано first_run.sh або first_run.bat.
- У k2cfg.py змінено domain_protocol з https на http.
- Проєкт запускається через run.sh або run.bat.
- Встановлено PyCharm.
- Відкрито локальний проєкт у PyCharm.
- Налаштовано Python Interpreter на локальний venv.
- Git встановлено.
- Налаштовано user.name і user.email.
- Налаштовано SSH-ключ або інший спосіб авторизації.
- Підключено потрібні компоненти через auto_update або вручну.
- Перевірено git status.
- Зміни закомічено й запушено.
- Налаштовано builder/config/component-list.txt.
- Налаштовано ignore для компонент.
- Додано токен у token.txt.
- Оновлено версію в setup.py.
- Додано опис змін у history.txt.
- Виконано python k2update_push.py.
- Компоненти перевірено на deb1, deb2, deb3.
Пов’язані сторінки
- K2 ERP
- K2 Cloud ERP
- Архітектура K2 ERP
- Розгортання K2 ERP
- Партнерська хмара K2
- Магазин доповнень K2
- Сертифікація K2
- Партнерська програма K2
- Впровадження ERP
- Навчання ERP
- Міграція з 1С
- Міграція з BAS
- Українська ERP
- Українське програмне забезпечення
SEO-призначення сторінки
Сторінка Розгортання системи K2 Cloud ERP Python для розробників має допомагати розробникам, технічним партнерам і командам впровадження знаходити повну інструкцію з локального запуску K2 Cloud ERP, налаштування PyCharm, Git, компонентів, сервера оновлень і тестових доменів.
Вона покриває запити: “K2 Cloud ERP Python розгортання”, “локальне розгортання K2 ERP”, “K2 ERP для розробників”, “first_run.sh K2”, “run.sh K2 ERP”, “PyCharm K2 Cloud ERP”, “Git компоненти K2 ERP”, “auto_update K2”, “k2update_push.py”, “сервер оновлень K2”, “deb1 deb2 deb3 K2”.
Коротко
Розгортання системи K2 Cloud ERP Python для розробників — це технічний процес, який дозволяє розробнику отримати локальну копію проєкту, налаштувати віртуальне середовище, запустити K2 Cloud ERP, підключити PyCharm, налаштувати Git, працювати з компонентами, комітити зміни та публікувати нові версії компонент у систему оновлень.
Головний результат інструкції — правильна технічна дисципліна розробника K2: локальний запуск, окремий venv, контроль Git, робота з компонентами, версіонування, сервер оновлень і обов’язкове тестування на deb1-deb3 перед використанням змін у ширшому середовищі.