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