Организация локального рабочего места для фиксации изменений разработки с привязкой к задачам

25.10.20

Задачи пользователя - Рабочее место

Статья является часть блока статей по организации процесса разработки. Задача статьи описать инструкцию по подключению и первоначальной настройке рабочего места с кратким объяснением взаимосвязей между компонентами.

Вводные

  • Различные обработки и расширения для клиентов
    • Разработки нужно тестировать локально, поле доставлять до базы клиента
    • Разработки дорабатываются как локально, так и на стороне клиента
  • Разработка ведется по задачам и изменения нужно привязывать к ним
  • Есть сервисы, как настраивать описано в отдельной статье (ссылка)
    • трекер на базе redmine,
    • git сервер
    • хранилище конфигурации 1С
  • У клиентов различные версии платформы что нужно учитывать при локальном тестировании и взаимодействии с хранилищем конфигурации

 

Вариант решения

1. Расширения привязываются к хранилищу конфигурации и на стороне разработчика и на стороне клиента, после скриптом выгружаются с помощью gitsync в git

Изменения на клиентской стороне отправляются в хранилище.

2. Обработки/отчеты добавляются в папку с git проектом, распаковываются с помощью precommit1c

Изменения на клиентской стороне копируются на локальный ПК вручную (сделал доработку, перенеси, зафиксируй).

 

Порядок настройки

1. Конфигуратор 1С

Берем с официального сайта, устанавливаем нужной версии.

 

2. git клиент, ключи доступа

Ссылка на скачивание https://git-scm.com/downloads, установка с параметрами по умолчанию.

доступ к репозиторию лучше/проще организовать через SSH, поэтому генерируем ключ в git GUI (от присутствует в меню пуск)

 
 скриншоты

при генерации ключа система запросит passphrase (пароль к ключу), на начальном этапе можно оставить пустым.

после генерации будут сформированы файлы с ключами

 
 скриншот

Открытую часть ключа нужно скопировать из GUI

 
 скриншот

 

и добавить в профиль пользователя git сервера

 
 в gitlab
 
 в gogs

 

3. git клиент с интерфейсом, установка имени и email автора коммита

есть множество вариантов, сам использую GitHub Desktop

Ссылка на скачивание https://desktop.github.com/, установка с параметрами по умолчанию, подключаться к github не обязательно, нормально работает и без этого.

При добавлении изменений в репозиторий нужно указывать имя и email автора, эти параметры можно указать глобально

 
 скриншоты

 

4. клонирование репозитория

предполагаю что репозиторий уже создан

Получаем ссылку например "git@gitlab.com:malikov-pro/test.git"

Клонируем репозиторий используя GitHub Desktop

 
 скриншоты

 

5. установка onescript, precommit1c, gitsync

Ссылка на установку onescript https://github.com/EvilBeaver/OneScript/releases, инструкция там же, в результате доступен opm (пакетный менеджер)

Установка precommit1c

opm install precommit1c

Ссылка на проект https://github.com/xDrivenDevelopment/precommit1c

Установка gitsync

opm install gitsync

Ссылка на проект https://github.com/oscript-library/gitsync

 

6. настройка precommit1c для репозитория

переходим в папку с проектом и устанавливаем настройки, скрипт добавляет в папку .git настройки

cd f:\git\client_1c\test\

precommit1c --install
 
 скриншот с результатом

 

7. Организация структуры папок

Писать все в корневую папку неудобно, потому что смешиваются обработки, настройки, расширения. В своей работе организую таким образом

  • src - исходные тексты
    • ExternalConfisurations - расширений
    • ExternalDataProcessors - обработок
  • ExternalDataProcessors - исходные (.erf) данные обработок

Использование

Работа с обработками

1. Добавляю обработку в папку ExternalDataProcessors репозитория

2. захожу в GitHub Desktop

3. вижу изменения обработки

 
 скриншот

4. Указываю задачу в комментарии и добавляю изменения

 
 скриншот

5. отправляю изменения на сервер

 
 скриншот

 

Работа с расширениями в хранилище

1. В хранилище добавляю пользователя export

2. прописываю скрипт с использованием gitsync

 
 скрипт exchange_with_sites.bat

3. перед первым запуском добавляю в корень папки с исходным кодом файлы VERSION и AUTHORS

 
 пример файлов

4. запускаю скрипт

5. отправляю изменения с помощью GitHub Desktop

При использовании gitsync одно добавление в хранилище равняется одному коммиту в репозитории.

 

Итог

Из бесплатных инструментов можно организовать фиксацию изменений разработок в git.

 

Благодарю за внимание.

См. также

АРМ Начальника производства и АРМ Рабочего цеха для 1С:УНФ. Цифровое производство малого и среднего бизнеса

Рабочее место Производство готовой продукции (работ, услуг) Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Управленческий учет Платные (руб)

Расширение для 1С:УНФ с комплектом из двух АРМ: «АРМ для начальника производства» и «АРМ для рабочего цеха». «АРМ Начальника производства» позволяет анализировать общую картину состояния заказов покупателей и наличие конечных комплектующих и сырья для производства заказанной продукции. Есть возможность направлять заказы в производственную работу (в случае, если заказанную продукцию нужно произвести), резервировать и отгружать готовую продукцию. «АРМ рабочего цеха» позволяет обычным работникам оперативно закрывать производственные задания (оформлять документы выпуска) сразу в программе 1С.

14400 руб.

15.09.2017    49313    80    41    

87

Помощник ЕГАИС для 1С:Розница 2.2/2.3. Инвентаризация, запросы, проверка ТТН

Рабочее место Розничная торговля Обмен с ГосИС Платформа 1С v8.3 1С:Розница 2 Розничная и сетевая торговля (FMCG) Россия Управленческий учет Акцизы Платные (руб)

Обновление сопоставлений алкогольных классификаторов, инвентаризация по марке, проверка накладных по check1.fsrar.ru, поиск продукции по акцизке, запрос новых акцизных марок и многое другое!

12000 руб.

05.01.2016    143127    466    696    

222

Торговля автозапчастями

Оптовая торговля Розничная торговля Рабочее место Платформа 1С v8.3 Оперативный учет Управляемые формы 1С:Управление торговлей 10 1С:Управление торговлей 11 Автомобили, автосервисы Управленческий учет Платные (руб)

Программный продукт для авторазборок, торгующих запчастями – как новыми, так и б/у, как в наличии на складе, так и под заказ, а также в пути из Японии. Предоставляет удобный и быстрый поиск товара по параметрам покупателя (по наименованию и/или марке и/или модели и/или кузову и/или ДВС). Удобное рабочее место для оформления торговых документов. Поддерживается работа с торговым оборудованием (ККМ-онлайн, 54-ФЗ, сканеры ШК, принтеры этикеток и т.д. и т.п.). По расписанию выгружает актуальный прайс на интернет-площадки japancar.ru, drom.ru, avito.ru, auto.ru, bibnet.ru. Реализовано как подсистема, встраиваемая в УТ10, АльфаАвто, УТ11 (на УФ формах).

26400 руб.

20.03.2018    32973    19    0    

20
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. artbear 1525 06.07.20 12:35 Сейчас в теме
(0) 1 С небольшими расширениями удобно сразу через Гит работать, без хранилищ расширений.

максимально наглядно и просто получается. сразу все плюшки гита.
и не нужно держать кучу хранилищ для кучи расширений

2 а структуру проекта рекомендую юзать как в vanessa-bootstrap
посмотри там каталог src
2. malikov_pro 1293 06.07.20 13:13 Сейчас в теме
(1) Хранилищем решаю вопрос доставки до базы, проще получается, подключил, загрузил, сохранил. Обработки использую потому что быстрее реализовать с рег. заданиями и тестировать.

"сразу все плюшки гита." - пока не шибко силен в git, буду изучать при использовании https://infostart.ru/public/1257654/, автор более продвинут в этом вопросе и тема общая.
"посмотри там каталог src" - лучше чем у меня, переделаю, поправлю статью.


Сейчас в типовых применяют механизм патчей через расширения (мне интересен механизм доставки). Есть идея организовать библиотеку модулей (расширениями) с доставкой, налог opm, npm. Вопрос в требованиях, стандартизации интерфейсов и доверии (открытый код и тесты) к модулям. Для infostart задача решаемая.
3. artbear 1525 06.07.20 13:35 Сейчас в теме
(2) Доставка в базы также несложно решается современными средствами 1С и ванесса-раннер.
т.е. разборка, сборка, установка (даже и не в безопасном режиме) делается несложно.
и можно не заморачиваться с разными хранилищами, логинами и пароли.
суть проекта с Гитом - держим все исходники в одном месте. а не разрозненно, как в случае с 1С хранилищами (
malikov_pro; +1 Ответить
4. malikov_pro 1293 06.07.20 14:12 Сейчас в теме
(3) Примерно понял, нужно углубится в тему CI/CD.
"и можно не заморачиваться с разными хранилищами, логинами и пароли." - пока не решен вопрос проверки связанности между расширениями, один раз попробовал, после слил в одно. Сейчас подход "один клиент-одно расширение".
По организации библиотеки расширений есть вариант кого озадачивать?
5. artbear 1525 06.07.20 14:21 Сейчас в теме
6. malikov_pro 1293 09.07.20 02:08 Сейчас в теме
(5) Вариант реализации: приделать к https://infostart.ru/public/1127356/ HTTP сервис, выдать к нему доступ от клиентов. Сделать расширение транспорт по аналогии с обновлениями в БСП добавив внешние обработки. после добавить отправку из клиентской базы в ветку. Доработал у клиента с минимальными усилиями перенес к себе.
Оставьте свое сообщение