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

Розгортання K2 ERP

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

Клонувати компоненти з віддаленого сервера:

Приклад:

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

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