6 Commits
Author SHA1 Message Date
Pavel 2062ad376b Merge pull request #64 from Untru/develop
LICENSE
2025-08-03 22:08:54 +03:00
Pavel 36a4393d5d LICENSE 2025-08-03 22:07:47 +03:00
Pavel 0db28884fc Merge pull request #63 from Untru/develop
Merge pull request #62 from Untru/docs/01
2025-08-03 22:05:37 +03:00
Pavel 8ee0267c9a Merge pull request #62 from Untru/docs/01
Изменения от Миши
2025-08-03 22:05:04 +03:00
Pavel 52bbc0d042 Merge pull request #61 from Untru/docs/01
Изменения от Миши
2025-08-03 21:52:56 +03:00
Pavel Chegodaev 3a6cf98371 Изменения от Миши 2025-08-02 16:44:33 +03:00
2 changed files with 76 additions and 47 deletions

No files matched your search

+25
View File
@@ -0,0 +1,25 @@
The MIT License (MIT)
=====================
Copyright © `2025` Pavel Chegodaev <pchegodaev@gmail.com>`
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the “Software”), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
+51 -47
View File
@@ -1,18 +1,17 @@
## GitManager
Что это и зачем?
# GitManager
Изначально была цель дать пользователю простой интерфейс для работы с 1с по методологии Git Flow.
Решение построено на БСП.
## Что это и зачем?
Решение представляет из себя 3 компонента:
Основная цель - дать пользователю простой и удобный интерфейс для работы с кодом 1С по методологии Git Flow. GitManager полностью берет на себя всё взаимодействие с репозиториями Git, организует ведение задач в разных ветках, автоматизирует сборку и разборку конфигураций 1С из исходников.
Решение построено на БСП и состоит из 3 компонентов:
* GitManager
* GitAgent (Опционально)
* 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%" успешно создана и добавлена в список баз.
pause
```
Запусить и наслаждаться
Запустить и наслаждаться
</details>
Для удобста старта работ мы разработали "Начальный помошник", Управление разработкой - > Запуск.
Советую пройтись по всем шагам по очереди и заодно изучить структуру объектов.
Разработанный "Начальный помощник" (Управление разработкой -> Запуск) позволяет легко начать использование нашей программы.
Советую пройтись по всем шагам и, заодно, изучить структуру объектов. В нём предусмотренны: заполнение пользователей, создание проекта, добавление баз и установка oscript.
<img src="images/image-7.png" width="600" alt="Начальный помощник">
<img src="images/image-8.png" width="600" alt="Настройки помощника">
Предусмотренно заполнение пользователей/создание проекта добавление баз и установка oscript
<details>
<summary><strong> Если хотим все заполнять сами </strong></summary>
Необходимо выполнить следующие действия:
1. Cоздать пользователя с правами "Администратор"
Для начала работы необходимо создать пользователя с правами "Администратор", далее необходимо заполнить
Настройки пользователя:
<img src="images/image-1.png" width="600" alt="Настройки пользователя">
Обязательно необходимо заполнить Проект и токен от внешнего репозитория и так же почту пользователя
<img src="images/image-2.png" width="600" alt="Настройки пользователя">
2. Создать и заполнить Проект
Проект
Пример заполнения основных полей
<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="Создание репозитория">
Для работы с гитхаб необходимо установить
6. Проверить, что у службы под которой запущена 1С есть права на расшаренную папку
[GitHub CLI](https://cli.github.com/)
У службы под которой запужена 1с должны быть права на шару папки
<img src="images/image-5.png" width="600" alt="Права доступа">
</details>
Необходимо запустить RAC как службу
Сделать это можно с помощью скрипта
Необходимо запустить RAC как службу, для этого есть свой скрипт
<details>
<summary><strong> Скрипт запуска скрапта добавления службы RAS </strong></summary>
<summary><strong> Скрипт добавления службы RAS </strong></summary>
``` bat
@echo off
@@ -150,37 +149,43 @@ sc stop %SrvcName%
sc delete %SrvcName%
sc create %SrvcName% binPath= %BinPath% start= auto obj= %SrvUserName% password= %SrvUserPwd% displayname= %Desctiption%
```
</details>
Для работы с гитхаб необходимо установить [GitHub CLI](https://cli.github.com/)
## Процесс работы
Каждой базе должнга соответствовать своя папка, подключенная к репозиторию.
Это проверить можно по наличию кнопки создания репозитория:
Каждой базе должна соответствовать своя папка, подключенная к репозиторию. Это можно проверить по наличию кнопки создания репозитория
![alt text](images/image-11.png)
### Создаем задачу
Важно, с системе получние настроек для задач.
![alt text](images/image-10.png)
Тут есть 3 варианта:
* Новая задача - создается новая ветка из ветки Develop
* HotFix к задаче - создается новая задача к задаче по ветке main/master, создает новую задачу к текущей
* HotFix новая задача - требует наличие задачи в таск трекере
* HotFix к задаче - создается новая ветка для задачи из ветки main/master, создает новую задачу к текущей
* HotFix новая задача - ??? требует наличие задачи в таск трекере
В результате задача должна появиться в списке, прошу обратить внимание на кнопки:
![alt text](images/image-13.png)
### Таск трекеры
Сейчас поддерживается 2 таск трекера
* 1С (только простая загрузка задач)
Передаем параметр - номер задачи
#### 1С (только простая загрузка задач)
Передаем параметр - номер задачи
```curl
curl --location 'https:/Путь К Базе/hs/tasks/task?id=000000002'
```
На входе мы ожидаем 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)
* Загрузка расширений указанных в задаче
* Компилирование внешних обработок и помещение их в папку проекта.
\Repositories\ИмяБазы\build\epf
* Компилирование внешних обработок и помещение их в папку проекта. `\Repositories\ИмяБазы\build\epf`
### Зафиксировать изменения
Разбор объектов указанных в задаче на исходники (Конфигурация и расширения).
Разбор внешних обработок/отчетов происходит из папки
build\epf
Разбор внешних обработок/отчетов происходит из папки `build\epf`
### Создание мердж реквеста
В случае если это GITHUB - необходим GITHUB-CLI
@@ -227,20 +230,21 @@ build\epf
### Получение расширенных логов
Для вывода логов от 1commands (Блиблиотека запуска команд https://github.com/artbear/1commands)
Мы можем зададать переменную окружения
Мы можем задать переменную окружения
``` bat
set LOGOS_CONFIG=logger.oscript.lib.commands=DEBUG;
```
Или добавить команды которые будет запускаться перед основными
Или добавить команды, которые будут запускаться перед основными
<img src="images/image-9.png" width="600" alt="Запуск команд">
# ВАЖНО
Так как инзначально инструмент разрабатывался для нужд компании и подгонялся под требования, некоторый функционал не оттустирован в парадигме универсальности.
Так как инзначально инструмент разрабатывался для нужд компании и подгонялся под внутренние требования, некоторый функционал не оттестирован в парадигме универсальности.
Если вы захотите развернуть инструмент у себя и что-то не получается - смело пишите. Обращайтесь за помощью, любые ваши вопросы помогут дописать руководство и поправить найденные замечания.
Так же всячески приветствуются issues.
Так же, всячески приветствуются issues.
Использование опенсорс библиотек