1
0
mirror of https://github.com/Untru/gitmanager.git synced 2025-08-09 21:37:16 +02:00

Изменения от Миши

This commit is contained in:
Pavel Chegodaev
2025-08-02 16:44:33 +03:00
parent 2baa4d8f1b
commit 3a6cf98371

View File

@@ -1,18 +1,17 @@
## GitManager # GitManager
Что это и зачем?
Изначально была цель дать пользователю простой интерфейс для работы с 1с по методологии Git Flow. ## Что это и зачем?
Решение построено на БСП.
Решение представляет из себя 3 компонента: Основная цель - дать пользователю простой и удобный интерфейс для работы с кодом 1С по методологии Git Flow. GitManager полностью берет на себя всё взаимодействие с репозиториями Git, организует ведение задач в разных ветках, автоматизирует сборку и разборку конфигураций 1С из исходников.
Решение построено на БСП и состоит из 3 компонентов:
* GitManager * GitManager
* GitAgent (Опционально) * GitAgent (Опционально)
* Cli приложение (https://github.com/Untru/pivo-cli) * Cli приложение (https://github.com/Untru/pivo-cli)
GitManager и GitAgent Это одна конфигурация. Идея сделать GitAgent родилась из-за того что по сети сборка и разборка исходников работает очень долго, по этому основная база отправляет команды в GitAgent И он уже запускает скрипты. Работать можно и без GitAgent, для этого надо установить константе СтратегияЗапускаСкрипта - CMD GitManager и GitAgent это одна конфигурация, которую можно продублировать если базы расположены на разных серверах. Идея сделать GitAgent родилась из-за того, что по сети сборка и разборка исходников работает очень долго. Поэтому основная база, на которую подключен GitManager, отправляет команды в GitAgent, а он уже запускает скрипты. Работать возможно и без GitAgent, для этого надо установить константе `СтратегияЗапускаСкрипта` значение `CMD`
Общая схема работы: Общая схема работы:
@@ -93,47 +92,47 @@ del "%TEMP_FILE%"
echo База данных "%DB_NAME%" успешно создана и добавлена в список баз. echo База данных "%DB_NAME%" успешно создана и добавлена в список баз.
pause pause
``` ```
Запусить и наслаждаться Запустить и наслаждаться
</details> </details>
Для удобста старта работ мы разработали "Начальный помошник", Управление разработкой - > Запуск. Разработанный "Начальный помощник" (Управление разработкой -> Запуск) позволяет легко начать использование нашей программы.
Советую пройтись по всем шагам по очереди и заодно изучить структуру объектов. Советую пройтись по всем шагам и, заодно, изучить структуру объектов. В нём предусмотренны: заполнение пользователей, создание проекта, добавление баз и установка oscript.
<img src="images/image-7.png" width="600" alt="Начальный помощник"> <img src="images/image-7.png" width="600" alt="Начальный помощник">
<img src="images/image-8.png" width="600" alt="Настройки помощника"> <img src="images/image-8.png" width="600" alt="Настройки помощника">
Предусмотренно заполнение пользователей/создание проекта добавление баз и установка oscript
<details> <details>
<summary><strong> Если хотим все заполнять сами </strong></summary> <summary><strong> Если хотим все заполнять сами </strong></summary>
Необходимо выполнить следующие действия:
1. Cоздать пользователя с правами "Администратор"
Для начала работы необходимо создать пользователя с правами "Администратор", далее необходимо заполнить
Настройки пользователя:
<img src="images/image-1.png" width="600" alt="Настройки пользователя"> <img src="images/image-1.png" width="600" alt="Настройки пользователя">
Обязательно необходимо заполнить Проект и токен от внешнего репозитория и так же почту пользователя 2. Создать и заполнить Проект
<img src="images/image-2.png" width="600" alt="Настройки пользователя">
Проект
Пример заполнения основных полей
<img src="images/image-3.png" width="600" alt="Проект"> <img src="images/image-3.png" width="600" alt="Проект">
После заполнения базы необходимо создать репозиторий по кнопке 3. Заполнить "Настройки пользователя". Обязательно необходимо указать Проект, токен от внешнего репозитория, а так же почту пользователя
<img src="images/image-2.png" width="600" alt="Настройки пользователя">
4. Заполнить настройки базы
5. Создать репозиторий, нажав на соответствующую кнопку
<img src="images/image-4.png" width="600" alt="Создание репозитория"> <img src="images/image-4.png" width="600" alt="Создание репозитория">
Для работы с гитхаб необходимо установить 6. Проверить, что у службы под которой запущена 1С есть права на расшаренную папку
[GitHub CLI](https://cli.github.com/)
У службы под которой запужена 1с должны быть права на шару папки
<img src="images/image-5.png" width="600" alt="Права доступа"> <img src="images/image-5.png" width="600" alt="Права доступа">
</details> </details>
Необходимо запустить RAC как службу Необходимо запустить RAC как службу, для этого есть свой скрипт
Сделать это можно с помощью скрипта
<details> <details>
<summary><strong> Скрипт запуска скрапта добавления службы RAS </strong></summary> <summary><strong> Скрипт добавления службы RAS </strong></summary>
``` bat ``` bat
@echo off @echo off
@@ -150,37 +149,43 @@ sc stop %SrvcName%
sc delete %SrvcName% sc delete %SrvcName%
sc create %SrvcName% binPath= %BinPath% start= auto obj= %SrvUserName% password= %SrvUserPwd% displayname= %Desctiption% sc create %SrvcName% binPath= %BinPath% start= auto obj= %SrvUserName% password= %SrvUserPwd% displayname= %Desctiption%
``` ```
</details> </details>
Для работы с гитхаб необходимо установить [GitHub CLI](https://cli.github.com/)
## Процесс работы ## Процесс работы
Каждой базе должнга соответствовать своя папка, подключенная к репозиторию. Каждой базе должна соответствовать своя папка, подключенная к репозиторию. Это можно проверить по наличию кнопки создания репозитория
Это проверить можно по наличию кнопки создания репозитория:
![alt text](images/image-11.png) ![alt text](images/image-11.png)
### Создаем задачу ### Создаем задачу
Важно, с системе получние настроек для задач.
![alt text](images/image-10.png) ![alt text](images/image-10.png)
Тут есть 3 варианта: Тут есть 3 варианта:
* Новая задача - создается новая ветка из ветки Develop * Новая задача - создается новая ветка из ветки Develop
* HotFix к задаче - создается новая задача к задаче по ветке main/master, создает новую задачу к текущей * HotFix к задаче - создается новая ветка для задачи из ветки main/master, создает новую задачу к текущей
* HotFix новая задача - требует наличие задачи в таск трекере * HotFix новая задача - ??? требует наличие задачи в таск трекере
В результате задача должна появиться в списке, прошу обратить внимание на кнопки:
![alt text](images/image-13.png)
### Таск трекеры ### Таск трекеры
Сейчас поддерживается 2 таск трекера Сейчас поддерживается 2 таск трекера
* 1С (только простая загрузка задач) #### 1С (только простая загрузка задач)
Передаем параметр - номер задачи
Передаем параметр - номер задачи
```curl ```curl
curl --location 'https:/Путь К Базе/hs/tasks/task?id=000000002' curl --location 'https:/Путь К Базе/hs/tasks/task?id=000000002'
``` ```
На входе мы ожидаем JSON В ответ мы ожидаем получить JSON
```json ```json
{ {
@@ -194,25 +199,23 @@ curl --location 'https:/Путь К Базе/hs/tasks/task?id=000000002'
"Очередь": "Очередь":
} }
``` ```
* Битрикс #### Битрикс
Задача должна появиться в списке, прошу обратить внимание на кнопки:
![alt text](images/image-13.png)
### Переходим на ветку ### Переходим на ветку
Во время перехода папка базы репозитория переключается на выбранную в списке ветку задачи, далее происходит загрузка в базу: Во время перехода, репозиториий базы переключается на выбранную в списке ветку задачи, далее происходит загрузка в базу:
* Основной конфигурации, если стоит галочка * Основной конфигурации, если стоит галочка
![alt text](images/image-12.png) ![alt text](images/image-12.png)
* Загрузка расширений указанных в задаче * Загрузка расширений указанных в задаче
* Компилирование внешних обработок и помещение их в папку проекта. * Компилирование внешних обработок и помещение их в папку проекта. `\Repositories\ИмяБазы\build\epf`
\Repositories\ИмяБазы\build\epf
### Зафиксировать изменения ### Зафиксировать изменения
Разбор объектов указанных в задаче на исходники (Конфигурация и расширения). Разбор объектов указанных в задаче на исходники (Конфигурация и расширения).
Разбор внешних обработок/отчетов происходит из папки Разбор внешних обработок/отчетов происходит из папки `build\epf`
build\epf
### Создание мердж реквеста ### Создание мердж реквеста
В случае если это GITHUB - необходим GITHUB-CLI В случае если это GITHUB - необходим GITHUB-CLI
@@ -227,20 +230,21 @@ build\epf
### Получение расширенных логов ### Получение расширенных логов
Для вывода логов от 1commands (Блиблиотека запуска команд https://github.com/artbear/1commands) Для вывода логов от 1commands (Блиблиотека запуска команд https://github.com/artbear/1commands)
Мы можем зададать переменную окружения Мы можем задать переменную окружения
``` bat ``` bat
set LOGOS_CONFIG=logger.oscript.lib.commands=DEBUG; set LOGOS_CONFIG=logger.oscript.lib.commands=DEBUG;
``` ```
Или добавить команды которые будет запускаться перед основными Или добавить команды, которые будут запускаться перед основными
<img src="images/image-9.png" width="600" alt="Запуск команд"> <img src="images/image-9.png" width="600" alt="Запуск команд">
# ВАЖНО # ВАЖНО
Так как инзначально инструмент разрабатывался для нужд компании и подгонялся под требования, некоторый функционал не оттустирован в парадигме универсальности. Так как инзначально инструмент разрабатывался для нужд компании и подгонялся под внутренние требования, некоторый функционал не оттестирован в парадигме универсальности.
Если вы захотите развернуть инструмент у себя и что-то не получается - смело пишите. Обращайтесь за помощью, любые ваши вопросы помогут дописать руководство и поправить найденные замечания. Если вы захотите развернуть инструмент у себя и что-то не получается - смело пишите. Обращайтесь за помощью, любые ваши вопросы помогут дописать руководство и поправить найденные замечания.
Так же всячески приветствуются issues. Так же, всячески приветствуются issues.
Использование опенсорс библиотек Использование опенсорс библиотек