ОИТ
1. Стандарты написания кода для локальных разработок (бизнес-процессы, локальные приложения, модификации init.php, бот и т.д.)
2. Требования к локальным приложениям. Инструкция по индексированию и коммиту изменений в GitHub
3. Разработка REST-приложений для Маркетплейса
Стандарты написания кода для локальных разработок (бизнес-процессы, локальные приложения, модификации init.php, бот и т.д.)
Желательно для создания локальной разработки использовать тестовый Битрикс.
В корне обоих Битриксов находится файл constants.php. Он содержит в себе используемые приложениями и бизнес-процессами константы – номера инфоблоков, свойств инфоблоков и т.д. Для формирования данного файла можно использовать приложение Property downloader (https://dev.vestrus.ru/marketplace/app/235/ и https://gkyw.ru/marketplace/app/96/).
В коде локальных разработок все числовые, символьные, строковые обозначения свойств инфоблоков, пользовательских полей и т.д. должны быть заменены на соответствующие имена констант из constants.php так, как это сделано в приложении Мои данные.
Все инфоблоки, создаваемые на боевом Битриксе, должны так же создаваться на тестовом. То же самое касается пользовательских свойств, стадий CRM и т.д.
Требования к локальным приложениям. Инструкция по индексированию и коммиту изменений в GitHub
Для каждого приложения организован 1 глобальный репозиторий и 2 локальных (тестовый и боевой).
После внесения изменений в локальный репозиторий на тестовом сервере должна осуществляться их отправка в глобальный репозиторий, а затем подтягивание изменений в локальный репозиторий боевого сервера.
Для разрешения конфликтов слияния можно использовать редактор Visual Studio Code.
После внесения рабочих изменений на боевой б24 необходимо делать коммит с подтверждением этих изменений. В названии коммита должна содержаться подстрока «(боевой)». В свою очередь коммиты на тестовом должны содержать подстроку «(тестовый)».
Алгоритм работы
Подтягивание актуального состояния приложения с глобального репозитория в локальный тестовый репозиторий.
Внесение изменений в код на тестовом б24.
Создание коммита с подстрокой «(тестовый)» в названии и отправка изменений в глобальный репозиторий.
Подтягивание изменений в локальный боевой репозиторий, создание коммита с подстрокой «(боевой)» и отправка его в глобальный репозиторий.
Примечание:
В случае, если изменения вносятся сразу на боевом сервере, необходимо так же делать соответствующий коммит.
Подключение к локальным репозиториям осуществляется по ssh.
Папка на сервер (локальные репозитории): /home/bitrix/www/marketplace/appFot
Внесение изменений в репозиторий по SSH
Осуществляется по следующему алгоритму:
Производится авторизация в Б24 (боевом или тестовом) по SSH через терминал (Putty, инструментарий VS Code либо ее форков, иные инструменты). Данные SSH-подключений находятся в CRM Пароли боевого Б24 и выдаются руководителем отдела.
Переход в каталог с локальным репозиторием приложения.
Например, для Моих данных:
cd /home/bitrix/www/marketplace/appFot
Проверка статуса репозитория
Перед внесением изменений проверьте текущий статус репозитория:
git status
Пример вывода:
On branch main Your branch is up to date with 'origin/main'. Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: index.html Untracked files: (use "git add <file>..." to include in what will be committed) new-file.js no changes added to commit (use "git add" and/or "git commit -a")
Индексирование изменений
После внесения изменений в файлы необходимо добавить их в индекс:
Добавление всех измененных файлов:
git add .
Добавление конкретного файла или папки:
git add путь/к/файлу.расширение git add src/components/
Создание коммита
После индексирования изменений создайте коммит с информативным сообщением:
# Для тестовой среды git commit -m "[FIX-123] Исправлена ошибка в форме авторизации (тестовый)" # Для боевой среды git commit -m "[FEATURE-456] Добавлена функция экспорта в PDF (боевой)"
Отправка изменений в глобальный репозиторий
После создания коммита отправьте изменения в глобальный репозиторий:
git push origin main
Пример успешного push:
Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 8 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 324 bytes | 324.00 KiB/s, done. Total 3 (delta 2), reused 0 (delta 0), pack-reused 0 remote: Resolving deltas: 100% (2/2), completed with 2 local objects. To github.com:username/repo.git a1b2c3d..e4f5g6h main -> main
Подтягивание изменений с глобального репозитория
git pull origin
Доступ Github
Данные от Гита находятся в CRM Пароли боевого Б24 и выдаются руководителем отдела.
Разработка REST-приложений для Маркетплейса
Основная информация о процессе разработки
Разработка тиражных REST-приложений ведется на облачном портале компании. Регистрация разработчиков осуществляется руководителем отдела.
Файлы приложений располагаются на отдельном хостинге. Данные от хостинга находятся в CRM Пароли боевого Б24 и выдаются руководителем отдела.
После того, как приложение проходит тестирование, оно размещается в кабинете разработчика Б24 и отправляется на модерацию. Данные от кабинета разработчика находятся в CRM Пароли и выдаются руководителем отдела.