You've already forked gitmanager
mirror of
https://github.com/Untru/gitmanager.git
synced 2025-08-09 21:37:16 +02:00
174
README.md
174
README.md
@@ -1,24 +1,134 @@
|
|||||||
|
## GitManager
|
||||||
|
Что это и зачем?
|
||||||
|
|
||||||
|
Изначально была цель дать пользователю простой нитерфейс для работы с 1с по методологии Git Flow. Решение представляет из себя 3 коомпонента:
|
||||||
|
* GitManager
|
||||||
|
* GitAgent
|
||||||
|
* Cli приложение (https://github.com/Untru/pivo-cli)
|
||||||
|
|
||||||
|
GitManager и GitAgent Это одна и та жа конфигурация. Идея сделать GitAgent родилась изза того что по сети сборка и разборка исходников работает очень долго, по этому основная база отправляет команды в GitAgent И он уже запускает скрипты.
|
||||||
|
|
||||||
|
Общая схема работы:
|
||||||
|
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
sequenceDiagram
|
||||||
|
participant GitManager as GitManager (Сервер 1)
|
||||||
|
participant GitAgent as GitAgent (Сервер 2)
|
||||||
|
participant PIVO-CLI as CLI (Сервер 2)
|
||||||
|
|
||||||
|
GitManager ->> GitAgent: Отправка команды (pivo-cli)
|
||||||
|
activate GitAgent
|
||||||
|
GitAgent ->> CLI: Запуск команды
|
||||||
|
activate CLI
|
||||||
|
CLI -->> GitAgent: Результат (stdout/stderr)
|
||||||
|
deactivate CLI
|
||||||
|
GitAgent -->> GitManager: Ответ (логи/статус)
|
||||||
|
deactivate GitAgent
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
## Старт работы
|
## Старт работы
|
||||||
|
|
||||||
|
Для удобства работы мы сделали скрипт по разворачиванию базы (РазворачиваниеБазы.bat)
|
||||||
|
|
||||||
|
Необходимо заполнить переменные, система сама скачает файл с репозитория и развернет базу на сервере.
|
||||||
|
Основные тесты были с серверной базой, по этому в файловой гарантирвтаь работоспособность нам сложно.
|
||||||
|
<details>
|
||||||
|
<summary><strong> Скрипт </strong></summary>
|
||||||
|
|
||||||
|
|
||||||
|
```bat
|
||||||
|
@echo off
|
||||||
|
chcp 65001 > nul
|
||||||
|
setlocal enabledelayedexpansion
|
||||||
|
|
||||||
|
:: =============================================
|
||||||
|
:: Установка GitManager
|
||||||
|
:: =============================================
|
||||||
|
|
||||||
|
:: Параметры
|
||||||
|
set "GITHUB_URL=https://github.com/Untru/gitmanager/releases/latest/download/GitManager.cf"
|
||||||
|
set "TEMP_FILE=%TEMP%\GitManager.cf"
|
||||||
|
set "DB_SERVER=localhost" :: Измените на свой сервер СУБД при необходимости
|
||||||
|
set "DB_NAME=Name" :: Имя новой базы данных
|
||||||
|
set "DB_USER=postgres" :: Пользователь СУБД
|
||||||
|
set "DB_PWD=postgres" :: Пароль пользователя СУБД
|
||||||
|
set "1C_USER=Администратор" :: Пользователь 1С
|
||||||
|
set "1C_PWD="" :: Пароль 1С (оставьте пустым, если без пароля)
|
||||||
|
set "V8VER=8.3.27.1508" :: Версия 1С
|
||||||
|
|
||||||
|
|
||||||
|
:: Скачиваем файл
|
||||||
|
echo Скачивание GitManager.cf...
|
||||||
|
curl -L -o "%TEMP_FILE%" "%GITHUB_URL%"
|
||||||
|
if %errorlevel% neq 0 (
|
||||||
|
echo Ошибка при скачивании файла.
|
||||||
|
pause
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
echo OK. 1cv8 найден.
|
||||||
|
pause
|
||||||
|
|
||||||
|
:: Создаём и загружаем базу
|
||||||
|
echo Создание базы данных...
|
||||||
|
"%ProgramFiles%\1cv8\%V8VER%\bin\1cv8.exe" createinfobase Srvr=%DB_SERVER%;Ref=%DB_NAME%;SQLSrvr=%DB_SERVER%;DBMS=PostgreSQL;SQLDB=%DB_NAME%;SQLUID=%DB_USER%;SQLPwd=%DB_PWD%;CrSQLDB=y;DB=%DB_NAME% /AddInList %DB_NAME% /UseTemplate "%TEMP_FILE%" /Out"CreateDB-%1.log"
|
||||||
|
@TYPE "CreateDB-%1.log"
|
||||||
|
|
||||||
|
if %errorlevel% neq 0 (
|
||||||
|
echo Ошибка при создании базы данных.
|
||||||
|
pause
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
|
||||||
|
:: Удаляем временный файл
|
||||||
|
del "%TEMP_FILE%"
|
||||||
|
|
||||||
|
echo База данных "%DB_NAME%" успешно создана и добавлена в список баз.
|
||||||
|
pause
|
||||||
|
```
|
||||||
|
Запусить и наслаждаться
|
||||||
|
</details>
|
||||||
|
|
||||||
|
Для удобста старта работ мы разработали "Начальный помошник", Управление разработкой - > Запуск.
|
||||||
|
Советую пройтись по всем шагам по очередит и заодно изучить что создается,
|
||||||
|
|
||||||
|
<img src="images/image-7.png" width="600" alt="Начальный помощник">
|
||||||
|
|
||||||
|
<img src="images/image-8.png" width="600" alt="Настройки помощника">
|
||||||
|
|
||||||
|
Предусмотренно заполнение пользователей/создание проекта добавление баз и установка oscript
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary><strong> Если хотим все заполнять сами </strong></summary>
|
||||||
|
|
||||||
Для начала работы необходимо создать пользователя с правами "Администратор", далее необходимо заполнить
|
Для начала работы необходимо создать пользователя с правами "Администратор", далее необходимо заполнить
|
||||||
Настройки пользователя:
|
Настройки пользователя:
|
||||||

|
<img src="images/image-1.png" width="600" alt="Настройки пользователя">
|
||||||
|
|
||||||
Обязательно необходимо заполнить Проект и токен от внешнего репозитория и так же почту пользователя
|
Обязательно необходимо заполнить Проект и токен от внешнего репозитория и так же почту пользователя
|
||||||

|
<img src="images/image-2.png" width="600" alt="Настройки пользователя">
|
||||||
|
|
||||||
Проект
|
Проект
|
||||||
Пример заполнения основных полей
|
Пример заполнения основных полей
|
||||||

|
<img src="images/image-3.png" width="600" alt="Проект">
|
||||||
|
|
||||||
После заполнения базы необходимо создать репозиторий по кнопке
|
После заполнения базы необходимо создать репозиторий по кнопке
|
||||||

|
<img src="images/image-4.png" width="600" alt="Создание репозитория">
|
||||||
|
|
||||||
Для работы с гитхаб необходимо установить
|
Для работы с гитхаб необходимо установить
|
||||||
|
|
||||||
[GitHub CLI](https://cli.github.com/)
|
[GitHub CLI](https://cli.github.com/)
|
||||||
У службы под которой запужена 1с должны быть права на шару папки
|
У службы под которой запужена 1с должны быть права на шару папки
|
||||||

|
<img src="images/image-5.png" width="600" alt="Права доступа">
|
||||||
|
</details>
|
||||||
|
|
||||||
|
|
||||||
Необходимо запустить RAC как службу
|
Необходимо запустить RAC как службу
|
||||||
|
Сделать это можно с помощью скрипта
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary><strong> Скрипт запуска скрапта добавления службы RAS </strong></summary>
|
||||||
|
|
||||||
``` bat
|
``` bat
|
||||||
@echo off
|
@echo off
|
||||||
@@ -36,8 +146,58 @@ 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>
|
||||||
|
|
||||||
|
Важно, с системе получние настроек для задач
|
||||||
|
|
||||||
|
Для вывода логов от 1command (Блиблиотека запуска команд)
|
||||||
|
Мы можем или зададать переменную окружения
|
||||||
|
|
||||||
|
``` bat
|
||||||
set LOGOS_CONFIG=logger.oscript.lib.commands=DEBUG;
|
set LOGOS_CONFIG=logger.oscript.lib.commands=DEBUG;
|
||||||
|
```
|
||||||
|
|
||||||
ОГРАНИЧЕНИЯ !!! Некоторый функционал не работает в WEB Клиенте
|
<img src="images/image-9.png" width="600" alt="Запуск команд">
|
||||||
|
|
||||||
|
|
||||||
|
## Процесс работы
|
||||||
|
|
||||||
|
Каждой базе должен соответствовать своя папочка подключенная к репозиторию, это проверить можно по наличию кнопки создания репозитория
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Новая задача - >
|
||||||
|

|
||||||
|
Тут есть 3 варианта:
|
||||||
|
* Новая задача - создается новая ветка из ветки Develop
|
||||||
|
* HotFix к задаче - создается новая задача к задаче по ветке main/master, создает новую задачу к текущей
|
||||||
|
* HotFix новая задача - требует наличие задачи в таск трекере
|
||||||
|
|
||||||
|
# Таск трекеры
|
||||||
|
Сейчас поддерживается 2 таск трекера
|
||||||
|
* 1С (только простая загрузка задач)
|
||||||
|
П
|
||||||
|
На входе мы ожидаем JSON
|
||||||
|
|
||||||
|
Работа со структурой
|
||||||
|
{
|
||||||
|
"Исполнитель": "",
|
||||||
|
"Трудозатраты_часов": 0,
|
||||||
|
"Статус": "",
|
||||||
|
"ДатаПринятияВРаботу": "",
|
||||||
|
"Описание_Задачи": "",
|
||||||
|
"Описание_Решения": "",
|
||||||
|
"Приоритет": ,
|
||||||
|
"Очередь":
|
||||||
|
}
|
||||||
|
|
||||||
|
* Битрикс
|
||||||
|
|
||||||
|
|
||||||
|
Использование чужих библиотек
|
||||||
|
- ОПИ
|
||||||
|
|
||||||
|
|
||||||
|
ОГРАНИЧЕНИЯ !!! Некоторый функционал не работает в WEB Клиенте
|
BIN
images/image-10.png
Normal file
BIN
images/image-10.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.1 KiB |
BIN
images/image-11.png
Normal file
BIN
images/image-11.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 33 KiB |
BIN
images/image-7.png
Normal file
BIN
images/image-7.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 55 KiB |
BIN
images/image-8.png
Normal file
BIN
images/image-8.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 33 KiB |
BIN
images/image-9.png
Normal file
BIN
images/image-9.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 38 KiB |
@@ -20,7 +20,7 @@
|
|||||||
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
|
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
|
||||||
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
|
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
|
||||||
<vendor>Мир инструментов</vendor>
|
<vendor>Мир инструментов</vendor>
|
||||||
<version>1.0.0.3</version>
|
<version>1.0.1.0</version>
|
||||||
<usedMobileApplicationFunctionalities>
|
<usedMobileApplicationFunctionalities>
|
||||||
<functionality>
|
<functionality>
|
||||||
<use>true</use>
|
<use>true</use>
|
||||||
|
@@ -302,6 +302,61 @@
|
|||||||
</picture>
|
</picture>
|
||||||
<representationInContextMenu>Auto</representationInContextMenu>
|
<representationInContextMenu>Auto</representationInContextMenu>
|
||||||
</items>
|
</items>
|
||||||
|
<items xsi:type="form:Button">
|
||||||
|
<name>VSCode</name>
|
||||||
|
<id>188</id>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>VSCodeРасширеннаяПодсказка</name>
|
||||||
|
<id>189</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<type>Hyperlink</type>
|
||||||
|
<commandName>Form.Command.VSCode</commandName>
|
||||||
|
<representation>Auto</representation>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<placementArea>UserCmds</placementArea>
|
||||||
|
<picture xsi:type="core:PictureRef">
|
||||||
|
<picture>CommonPicture.Vcs</picture>
|
||||||
|
</picture>
|
||||||
|
<representationInContextMenu>Auto</representationInContextMenu>
|
||||||
|
</items>
|
||||||
|
<items xsi:type="form:Button">
|
||||||
|
<name>ОбновитьНастройки</name>
|
||||||
|
<id>194</id>
|
||||||
|
<visible>true</visible>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<userVisible>
|
||||||
|
<common>true</common>
|
||||||
|
</userVisible>
|
||||||
|
<extendedTooltip>
|
||||||
|
<name>ОбновитьНастройкиРасширеннаяПодсказка</name>
|
||||||
|
<id>195</id>
|
||||||
|
<type>Label</type>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||||
|
<horizontalAlign>Left</horizontalAlign>
|
||||||
|
</extInfo>
|
||||||
|
</extendedTooltip>
|
||||||
|
<type>Hyperlink</type>
|
||||||
|
<commandName>Form.Command.ОбновитьНастройки</commandName>
|
||||||
|
<representation>PictureAndText</representation>
|
||||||
|
<autoMaxWidth>true</autoMaxWidth>
|
||||||
|
<autoMaxHeight>true</autoMaxHeight>
|
||||||
|
<placementArea>UserCmds</placementArea>
|
||||||
|
<representationInContextMenu>Auto</representationInContextMenu>
|
||||||
|
</items>
|
||||||
<items xsi:type="form:Button">
|
<items xsi:type="form:Button">
|
||||||
<name>СправочникБазыАктуализироватьДопОбработки</name>
|
<name>СправочникБазыАктуализироватьДопОбработки</name>
|
||||||
<id>192</id>
|
<id>192</id>
|
||||||
@@ -334,35 +389,6 @@
|
|||||||
</picture>
|
</picture>
|
||||||
<representationInContextMenu>Auto</representationInContextMenu>
|
<representationInContextMenu>Auto</representationInContextMenu>
|
||||||
</items>
|
</items>
|
||||||
<items xsi:type="form:Button">
|
|
||||||
<name>VSCode</name>
|
|
||||||
<id>188</id>
|
|
||||||
<visible>true</visible>
|
|
||||||
<enabled>true</enabled>
|
|
||||||
<userVisible>
|
|
||||||
<common>true</common>
|
|
||||||
</userVisible>
|
|
||||||
<extendedTooltip>
|
|
||||||
<name>VSCodeРасширеннаяПодсказка</name>
|
|
||||||
<id>189</id>
|
|
||||||
<type>Label</type>
|
|
||||||
<autoMaxWidth>true</autoMaxWidth>
|
|
||||||
<autoMaxHeight>true</autoMaxHeight>
|
|
||||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
|
||||||
<horizontalAlign>Left</horizontalAlign>
|
|
||||||
</extInfo>
|
|
||||||
</extendedTooltip>
|
|
||||||
<type>Hyperlink</type>
|
|
||||||
<commandName>Form.Command.VSCode</commandName>
|
|
||||||
<representation>Auto</representation>
|
|
||||||
<autoMaxWidth>true</autoMaxWidth>
|
|
||||||
<autoMaxHeight>true</autoMaxHeight>
|
|
||||||
<placementArea>UserCmds</placementArea>
|
|
||||||
<picture xsi:type="core:PictureRef">
|
|
||||||
<picture>CommonPicture.Vcs</picture>
|
|
||||||
</picture>
|
|
||||||
<representationInContextMenu>Auto</representationInContextMenu>
|
|
||||||
</items>
|
|
||||||
<visible>true</visible>
|
<visible>true</visible>
|
||||||
<enabled>true</enabled>
|
<enabled>true</enabled>
|
||||||
<userVisible>
|
<userVisible>
|
||||||
@@ -3143,6 +3169,26 @@
|
|||||||
</action>
|
</action>
|
||||||
<currentRowUse>Auto</currentRowUse>
|
<currentRowUse>Auto</currentRowUse>
|
||||||
</formCommands>
|
</formCommands>
|
||||||
|
<formCommands>
|
||||||
|
<name>ОбновитьНастройки</name>
|
||||||
|
<title>
|
||||||
|
<key>ru</key>
|
||||||
|
<value>Обновить настройки</value>
|
||||||
|
</title>
|
||||||
|
<id>18</id>
|
||||||
|
<use>
|
||||||
|
<common>true</common>
|
||||||
|
</use>
|
||||||
|
<picture xsi:type="core:PictureRef">
|
||||||
|
<picture>CommonPicture.ОжидаемаяДлительнаяОперация16</picture>
|
||||||
|
</picture>
|
||||||
|
<action xsi:type="form:FormCommandHandlerContainer">
|
||||||
|
<handler>
|
||||||
|
<name>ОбновитьНастройки</name>
|
||||||
|
</handler>
|
||||||
|
</action>
|
||||||
|
<currentRowUse>Auto</currentRowUse>
|
||||||
|
</formCommands>
|
||||||
<commandInterface>
|
<commandInterface>
|
||||||
<navigationPanel/>
|
<navigationPanel/>
|
||||||
<commandBar/>
|
<commandBar/>
|
||||||
|
@@ -305,6 +305,11 @@
|
|||||||
УстановитьЗаголовокПоЗадачеНаСервере(База, ТекущаяЗадача);
|
УстановитьЗаголовокПоЗадачеНаСервере(База, ТекущаяЗадача);
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
|
||||||
|
&НаКлиенте
|
||||||
|
Процедура ОбновитьНастройки(Команда)
|
||||||
|
ОбновитьНастройкиНаСервере();
|
||||||
|
КонецПроцедуры
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область ОбработчикиСобытийЭлементовТаблицыФормыЗадачи
|
#Область ОбработчикиСобытийЭлементовТаблицыФормыЗадачи
|
||||||
@@ -1170,4 +1175,11 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
|
||||||
|
&НаСервере
|
||||||
|
Процедура ОбновитьНастройкиНаСервере()
|
||||||
|
|
||||||
|
ОбновитьПовторноИспользуемыеЗначения();
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
#КонецОбласти
|
#КонецОбласти
|
47
РазворачиваниеБазы.bat
Normal file
47
РазворачиваниеБазы.bat
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
@echo off
|
||||||
|
chcp 65001 > nul
|
||||||
|
setlocal enabledelayedexpansion
|
||||||
|
|
||||||
|
:: =============================================
|
||||||
|
:: Установка GitManager
|
||||||
|
:: =============================================
|
||||||
|
|
||||||
|
:: Параметры
|
||||||
|
set "GITHUB_URL=https://github.com/Untru/gitmanager/releases/latest/download/GitManager.cf"
|
||||||
|
set "TEMP_FILE=%TEMP%\GitManager.cf"
|
||||||
|
set "DB_SERVER=localhost" :: Измените на свой сервер СУБД при необходимости
|
||||||
|
set "DB_NAME=GM6" :: Имя новой базы данных
|
||||||
|
set "DB_USER=postgres" :: Пользователь СУБД
|
||||||
|
set "DB_PWD=postgres" :: Пароль пользователя СУБД
|
||||||
|
set "1C_USER=Администратор" :: Пользователь 1С
|
||||||
|
set "1C_PWD="" :: Пароль 1С (оставьте пустым, если без пароля)
|
||||||
|
set "V8VER=8.3.27.1508" :: Версия 1С
|
||||||
|
|
||||||
|
|
||||||
|
:: Скачиваем файл
|
||||||
|
echo Скачивание GitManager.cf...
|
||||||
|
curl -L -o "%TEMP_FILE%" "%GITHUB_URL%"
|
||||||
|
if %errorlevel% neq 0 (
|
||||||
|
echo Ошибка при скачивании файла.
|
||||||
|
pause
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
echo OK. 1cv8 найден.
|
||||||
|
pause
|
||||||
|
|
||||||
|
:: Создаём и загружаем базу
|
||||||
|
echo Создание базы данных...
|
||||||
|
"%ProgramFiles%\1cv8\%V8VER%\bin\1cv8.exe" createinfobase Srvr=%DB_SERVER%;Ref=%DB_NAME%;SQLSrvr=%DB_SERVER%;DBMS=PostgreSQL;SQLDB=%DB_NAME%;SQLUID=%DB_USER%;SQLPwd=%DB_PWD%;CrSQLDB=y;DB=%DB_NAME% /AddInList %DB_NAME% /UseTemplate "%TEMP_FILE%" /Out"CreateDB-%1.log"
|
||||||
|
@TYPE "CreateDB-%1.log"
|
||||||
|
|
||||||
|
if %errorlevel% neq 0 (
|
||||||
|
echo Ошибка при создании базы данных.
|
||||||
|
pause
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
|
||||||
|
:: Удаляем временный файл
|
||||||
|
del "%TEMP_FILE%"
|
||||||
|
|
||||||
|
echo База данных "%DB_NAME%" успешно создана и добавлена в список баз.
|
||||||
|
pause
|
Reference in New Issue
Block a user