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

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

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

domain_protocol = "http"

https://git.corp2.eu/k2erp/python/k2/base/client/auto_update


<pre>
<pre>
Після встановлення PyCharm потрібно відкрити локально скопійований проєкт K2 ERP.; | У Python Interpreter через локальний <code>venv</code>
|-
| Як працювати з компонентами?; Що перевірити
<pre>

components/k2adm

bash run.sh

Перегляд публічного ключа:
[[Категорія:K2 ERP Python]]

Завантажити PyCharm можна з офіційної сторінки:

<pre>
== 10.; Коміт змін вручну ==

Після копіювання потрібно перейти в каталог:

cat ~/.ssh/id_rsa.pub


[[Категорія:Git]]

Завантаження компонент, зазначених у файлі <code>builder/config/component-list.txt</code>, виконується командою:

git status
[[Категорія:Розгортання K2 ERP]]
Приклад:

Після конфігурація інтерпретатора проєкт можна запускати в режимі debug або з консолі PyCharm.;=== Встановлення PyCharm у Linux з архіву ===

Після зміни версії потрібно додати характеристика змін у файл:


Повний приклад доступний у файлі: /K2CloudERP

Приклад рядка:



Приклад вмісту:

<pre>

<pre>

'''істотно.''' Перед комітом потрібно перевірити <code>git status</code>, щоб випадково не відправити службові файли, локальні конфігурація, тимчасові файли або зайві каталоги.; Питання

<pre>

на:

Публікація змін у віддалений репозиторій:

Після підготовки версії потрібно перейти в корінь застосунку, на рівень із файлом: git pull origin main

2.; Встановлення PyCharm


потрібно додати в словник ключі потрібних компонент.;<pre>

Файл додатково знаходиться в корені каталогу компоненти.; cd auto_update


sudo apt update

builder/config/ignore

cd k2


!;== 1.; Копіювання проєкту і перший запуск ==
Для роботи зі списком компонент можна використовувати скрипт <code>auto_update</code>.; Додавання віддаленого репозиторію:
!; setup.py

Спочатку потрібно скопіювати існуючий робочий проєкт K2 ERP з віддаленого сервера по FTP.; Для клонування актуальних версій компонент виконується команда:


Додавання ключа:

5.; Базове конфігурація Git

sudo apt install default-jdk


sudo apt update

app.py

version_type = "stable"

./first_run.bat

Загальна схема роботи

ej2.min.js Для локального запуску змінити параметр:

Завантажити Git можна зі сторінки:

bash run.sh

'''істотно.''' Для локальної розробки потрібно перевірити, що <code>domain_protocol</code> змінено з <code>https</code> на <code>http</code>.; .gitignore

<pre>

Після завантаження нової версії потрібно оновити змінені компоненти на тестових доменах:

components/k2site Додати зміни: Після внесення змін у коді потрібно перевірити статус:

потрібно створити файл із назвою компоненти та вказати файли або папки, які не потрібно завантажувати.; Клонування компонент:


потрібно вказати токен доступу до сервера оновлень.; 2.0.4.43 - додавання додаткового поля у форму реєстрації

!; | Через <code>auto_update</code> або вручну через Git
|-
| Як публікувати зміни?; Розгортання локального середовища K2 ERP складається з кількох основних етапів:
Можна використовувати PyCharm Community або іншу редакцію, яка підходить для роботи з Python-проєктами.; потрібно вказати список компонент, які будуть завантажуватися на сервер оновлень.; це інструкція з локального запуску робочого проєкту [[K2 ERP]] забезпечується через '''Розгортання системи K2 ERP Python; додатково реалізовано підключення середовища розробки.; | Через Git-коміт і <code>python k2update_push.py</code>
|-
| Де тестувати актуалізація?; Він адаптує віртуальне середовище до поточного локального розташування проєкту.; Для розробки застосовують, коли потрібно середовище '''PyCharm'''.;

sudo snap install pycharm-community --classic Отримання змін із віддаленого сервера:

Ініціалізація Git у поточній директорії:


<pre>

<pre>
git push
<pre>

Запуск ssh-agent:



Ця команда клонує компоненти та перейменовує каталоги поточних версій компонент.; Причина

Windows:

domain_protocol = "https"

Практична порада. Для стабільної роботи з Git краще налаштувати SSH-доступ один раз і далі працювати з репозиторіями без постійного введення логіна та пароля.;

  1. копіювання робочого проєкту з віддаленого сервера;
  2. первинне конфігурація локального середовища;
  3. запуск системи;
  4. відкриття проєкту в PyCharm;
  5. конфігурація Python Interpreter;
  6. встановлення та конфігурація Git;
  7. підключення репозиторіїв компонент;
  8. коміт і публікація змін;
  9. підготовка компонент до сервера оновлень;
  10. тестування на тестових доменах.; Якщо компоненти підключені через auto_update, робота виконується з каталогу:

__pycache__

Для створення нової версії компоненти потрібно змінити версію у файлі:

Після завантаження потрібно розпакувати архів, перейти в каталог bin і запустити:

Для публікації компонент на сервер оновлень застосовується конфігурація в каталозі:

Для тестової версії можна використовувати:

./pycharm.sh

Тестування має підтвердити, що:
Linux:

=== Встановлення PyCharm у Linux через snap ===

=== Linux ===

git config --global user.email "ваша_електронна_пошта@example.com"

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

..\K2CloudERP\venv\Scripts\python.exe

git init

Windows:


<pre>

== Типові помилки ==
{| class="wikitable" style="width:100%;"
deb2

<pre>

git remote -v

Після конфігурація можна запускати застосунок.; Створити коміт: У каталозі:

bash first_run.sh

<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;">
Створення SSH-ключа:

Якщо потрібно підключити лише одну компоненту вручну, потрібно перейти в каталог потрібної компоненти.; component-list.txt
git status

<pre>

<pre>
Після завантаження потрібно запустити інсталятор і встановити Git згідно з інструкціями.;
Отриманий публічний ключ потрібно скопіювати та додати у віддалений Git-репозиторій.;
version = "2.0.4.43"
<pre>

Після завантаження потрібно запустити інсталятор і встановити середовище розробки згідно з інструкціями майстра встановлення.; python git_cmd.py commit

Після цього потрібно відкрити файл налаштувань: components/k2update У файлі:

Windows


Після встановлення Git потрібно вказати ім’я користувача та email.;

.\venv\Scripts\activate

app.py git checkout -b main


eval "$(ssh-agent -s)"

sudo apt install snapd

Якщо під час запуску виникає помилка, потрібно встановити JRE/JDK:

Приклад файлу:

builder/config ../K2CloudERP/venv/bin/python3.12


<pre>

<pre>

Linux: https://git-scm.com/downloads/win

Отримання змін і автоматичне об’єднання з локальною гілкою:

Перевірка статусу:
</div>

git config --global user.name "Ваше Ім'я"

python git_cmd.py clone
Git потрібен для роботи з репозиторіями компонент K2 ERP, отримання оновлень, комітів і публікації змін.; git fetch origin

'''Коротко.''' Щоб почати роботу, потрібно скопіювати проєкт, виконати первинне конфігурація через <code>first_run</code>, запустити систему локально, підключити PyCharm, налаштувати Git і працювати з компонентами через репозиторії або скрипт <code>auto_update</code>.;== 7.; Підключення компонент через auto_update ==

[[Категорія:Розробка K2 ERP]]
Під час подальшої роботи потрібно регулярно отримувати зміни з віддаленого репозиторію:
deb3
|-
| 1
| Проєкт скопійовано з віддаленого сервера по FTP
|-
| 2
| Виконано <code>first_run.sh</code> або <code>first_run.bat</code>
|-
| 3
| У <code>k2cfg.py</code> змінено <code>domain_protocol</code> з <code>https</code> на <code>http</code>
|-
| 4
| Проєкт запускається через <code>run.sh</code> або <code>run.bat</code>
|-
| 5
| У PyCharm налаштовано Python Interpreter на локальне <code>venv</code>
|-
| 6
| Встановлено та налаштовано Git
|-
| 7
| Налаштовано SSH або інший спосіб авторизації в репозиторії
|-
| 8
| Підключено потрібні компоненти вручну або через <code>auto_update</code>
|-
| 9
| Перевірено роботу <code>git status</code>, <code>git pull</code>, <code>git push</code>
|-
| 10
| Налаштовано <code>builder/config/component-list.txt</code>
|-
| 11
| Налаштовано файли <code>ignore</code> для компонент
|-
| 12
| Додано токен у <code>token.txt</code>
|-
| 13
| Оновлено версію компоненти в <code>setup.py</code>
|-
| 14
| Додано характеристика змін у <code>history.txt</code>
|-
| 15
| Виконано <code>python k2update_push.py</code>
|-
| 16
| Оновлено компоненти на <code>deb1</code>–<code>deb3</code>
|-
| 17
| Перевірено функціональні можливості після актуалізація
|}

=== Встановлення PyCharm у Windows ===

{| class="wikitable" style="width:100%;"
./run.bat
Створення локальної гілки <code>main</code> і перемикання на неї:
/K2CloudERP/cfg/k2/k2/k2cfg.py
|-
| Проєкт не запускається локально
| Не виконано <code>first_run</code> або неправильно налаштоване середовище
| Повторити <code>first_run</code>, перевірити <code>venv</code>
|-
| Локальний запуск відкривається через HTTPS
| Не змінено <code>domain_protocol</code>
| Перевірити <code>k2cfg.py</code>
|-
| PyCharm не бачить залежності
| Не вибрано правильний Python Interpreter
| Перевірити шлях до <code>venv</code>
|-
| Git не пушить зміни
| Не налаштовано авторизацію або немає прав
| Перевірити SSH-ключ, remote URL і доступи
|-
| На сервер оновлень потрапляють зайві файли
| Не налаштовано <code>ignore</code>
| Перевірити файл компоненти в <code>builder/config/ignore</code>
|-
| Компонента не оновлюється на тестовому домені
| Не змінено версію або не завантажено актуалізація
| Перевірити <code>setup.py</code>, <code>history.txt</code>, <code>k2update_push.py</code>
|}

history.txt

У файлі: Отримання даних із віддаленого репозиторію без зміни поточної гілки:

З чого почати?;

source venv/bin/activate

Приклад шляху:

  • компонента оновилася коректно;
  • новий функціональні можливості функціонує;
  • старий функціональні можливості не зламався;
  • помилки не відтворюються;
  • зміни можна передавати далі.; Завантажити PyCharm можна з офіційної сторінки:

ssh-add ~/.ssh/id_rsa

Linux



settings_example.py

.git

<pre>

Для Windows шлях має змогу мати вигляд:
settings.py
!;=== Linux ===

=== Windows ===

deb1

ssh-keygen -t rsa -b 4096 -C "ваша_електронна_пошта@example.com"


Перевірка статусу:
== 12.; Підготовка нової версії компоненти ==
!; Після актуалізація необхідно перевірити функціональні можливості, який був змінений або залежить від оновленої компоненти.; №

sudo rm /etc/apt/preferences.d/nosnap.pref

</div>
python k2update_push.py
pycharm-community

<pre>

Перемикання на іншу локальну гілку, якщо потрібно:
<pre>
== 14.; Тестування на deb1–deb3 ==

[[Категорія:Сервер оновлень K2 ERP]]

== 3.; Відкриття проєкту в PyCharm ==
sudo apt install git

<pre>
== 4.; Встановлення Git ==
git commit -m "Назва коміту"

Див.; додатково

Коротко

У цьому каталозі запускається файл первинного конфігурація.; Відповідь


<pre>
<pre>
token.txt

Після копіювання потрібно перейти в каталог проєкту:

python git_cmd.py push

Для роботи з віддаленими репозиторіями має змогу використовуватися SSH-авторизація.; | Скопіювати проєкт, виконати <code>first_run</code>, змінити <code>domain_protocol</code> і запустити <code>run</code>
|-
| Яке середовище розробки застосовується?; У PyCharm потрібно налаштувати Python Interpreter для поточного проєкту.; Інакше локальний запуск має змогу працювати некоректно.; Перевірка

Окремо варто відзначити конфігурація Git, роботи з компонентами і публікації оновлень виступає ключовою рисою розробників'''.; Відправити зміни у віддалений репозиторій:

python git_cmd.py clone

У файлі: Репозиторій скрипта:

Приклад переходу:

Перевірка віддаленого репозиторію:

Приклад:
[[Категорія:Корпоративна Wiki]]


git remote add origin http://git.corp2.eu/k2erp/python/k2/base/site/k2site.git

11.; конфігурація завантаження компонент на сервер оновлень

8.; Підключення однієї компоненти вручну

6.; конфігурація SSH-ключа


cd auto_update

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

# відкрити проєкт у PyCharm;
# у правому нижньому куті вибрати '''Python Interpreter''';
# натиснути '''Add New Interpreter''';
# у полі '''Location''' вказати шлях до локальної папки <code>venv</code>;
# у полі '''Base Interpreter''' вказати шлях до виконуваного Python-файлу з поточного віртуального середовища.; k2site.txt
<pre>

<pre>

Каталог зі скриптом потрібно скопіювати в корінь проєкту на рівень із файлом:
; git add .; Помилка

version_type = "testing"

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

13.; Завантаження компоненти в систему актуалізація

Ручна активація віртуального середовища

python git_cmd.py pull

sudo apt update

Документ призначений для розробників, які підключаються до Python-версії K2 ERP, працюють із компонентами системи, вносять зміни в код і передають нові версії на сервер оновлень.; !; ./run.bat

Windows

python git_cmd.py status

Файл знаходиться в корені каталогу компоненти.; | PyCharm

На тестових доменах deb1, deb2, deb3

* K2 ERP
* K2 ERP Python для розробників
* Python
* PyCharm
* Git
* Розгортання системи K2 ERP PHP
* Розгортання K2 ERP
* Компоненти K2 ERP
* Сервер оновлень K2 ERP

cd components/k2site
git checkout master
https://www.jetbrains.com/pycharm/download/?section=windows
як ілюстрація:

9.; Коміт змін через auto_update

Коміт змін:

Запуск з консолі PyCharm

Порядок дій: