diff --git a/README.md b/README.md index a3294cb..40aeb85 100644 --- a/README.md +++ b/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) + +Необходимо заполнить переменные, система сама скачает файл с репозитория и развернет базу на сервере. +Основные тесты были с серверной базой, по этому в файловой гарантирвтаь работоспособность нам сложно. +
+ Скрипт + + +```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 +``` +Запусить и наслаждаться +
+ +Для удобста старта работ мы разработали "Начальный помошник", Управление разработкой - > Запуск. +Советую пройтись по всем шагам по очередит и заодно изучить что создается, + +Начальный помощник + +Настройки помощника + +Предусмотренно заполнение пользователей/создание проекта добавление баз и установка oscript + +
+ Если хотим все заполнять сами + Для начала работы необходимо создать пользователя с правами "Администратор", далее необходимо заполнить Настройки пользователя: -![alt text](images/image-1.png) +Настройки пользователя + Обязательно необходимо заполнить Проект и токен от внешнего репозитория и так же почту пользователя -![Настройки пользователя](images/image-2.png) +Настройки пользователя + Проект Пример заполнения основных полей -![Проект](images/image-3.png) +Проект После заполнения базы необходимо создать репозиторий по кнопке -![alt text](images/image-4.png) +Создание репозитория + Для работы с гитхаб необходимо установить [GitHub CLI](https://cli.github.com/) У службы под которой запужена 1с должны быть права на шару папки -![alt text](images/image-5.png) +Права доступа +
+ Необходимо запустить RAC как службу +Сделать это можно с помощью скрипта + +
+ Скрипт запуска скрапта добавления службы RAS ``` bat @echo off @@ -36,8 +146,58 @@ sc delete %SrvcName% sc create %SrvcName% binPath= %BinPath% start= auto obj= %SrvUserName% password= %SrvUserPwd% displayname= %Desctiption% ``` -Для вывода логов +
+ +Важно, с системе получние настроек для задач + +Для вывода логов от 1command (Блиблиотека запуска команд) +Мы можем или зададать переменную окружения + +``` bat set LOGOS_CONFIG=logger.oscript.lib.commands=DEBUG; +``` -ОГРАНИЧЕНИЯ !!! Некоторый функционал не работает в WEB Клиенте +Запуск команд + +## Процесс работы + +Каждой базе должен соответствовать своя папочка подключенная к репозиторию, это проверить можно по наличию кнопки создания репозитория + +![alt text](images/image-11.png) + + + +Новая задача - > +![alt text](images/image-10.png) +Тут есть 3 варианта: +* Новая задача - создается новая ветка из ветки Develop +* HotFix к задаче - создается новая задача к задаче по ветке main/master, создает новую задачу к текущей +* HotFix новая задача - требует наличие задачи в таск трекере + +# Таск трекеры +Сейчас поддерживается 2 таск трекера +* 1С (только простая загрузка задач) +П +На входе мы ожидаем JSON + +Работа со структурой +{ + "Исполнитель": "", + "Трудозатраты_часов": 0, + "Статус": "", + "ДатаПринятияВРаботу": "", + "Описание_Задачи": "", + "Описание_Решения": "", + "Приоритет": , + "Очередь": +} + +* Битрикс + + +Использование чужих библиотек +- ОПИ + + +ОГРАНИЧЕНИЯ !!! Некоторый функционал не работает в WEB Клиенте \ No newline at end of file diff --git a/images/image-10.png b/images/image-10.png new file mode 100644 index 0000000..fc1fbcb Binary files /dev/null and b/images/image-10.png differ diff --git a/images/image-11.png b/images/image-11.png new file mode 100644 index 0000000..5b21c49 Binary files /dev/null and b/images/image-11.png differ diff --git a/images/image-7.png b/images/image-7.png new file mode 100644 index 0000000..5690a13 Binary files /dev/null and b/images/image-7.png differ diff --git a/images/image-8.png b/images/image-8.png new file mode 100644 index 0000000..fd48186 Binary files /dev/null and b/images/image-8.png differ diff --git a/images/image-9.png b/images/image-9.png new file mode 100644 index 0000000..b933839 Binary files /dev/null and b/images/image-9.png differ diff --git a/РазворачиваниеБазы.bat b/РазворачиваниеБазы.bat new file mode 100644 index 0000000..74a6e06 --- /dev/null +++ b/РазворачиваниеБазы.bat @@ -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 \ No newline at end of file