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

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    49202    80    41    

87

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

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

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

12000 руб.

05.01.2016    142985    463    696    

221

Мастер ТТН. Версия ПРОФ

Оптовая торговля Рабочее место Создание на основании Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Полнофункциональное расширение для формирования и ведения учета перевозочных документов всех видов (ТН, ТТН, ЭТрН). Печать документов или отправка через ЭПД (Электронный перевозочный документооборот). Поддержка регистрации нескольких перевозок на одну финансовую реализацию (в виде УПД, например), а также одной перевозки на основании нескольких финансовых реализаций. Формирование всех сопроводительных документов из одной отгрузки. Формирование реестра грузосопроводительных документов, доверенности менеджеров для указания ответственных лиц (руководитель, главный бухгалтер, кладовщик) организации для пользователей ИБ. Гибкая настройка функциональности под потребности организации.

2298 руб.

18.04.2017    46965    205    41    

78
Комментарии
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. artbear 1518 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 1518 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 1518 06.07.20 14:21 Сейчас в теме
6. malikov_pro 1293 09.07.20 02:08 Сейчас в теме
(5) Вариант реализации: приделать к https://infostart.ru/public/1127356/ HTTP сервис, выдать к нему доступ от клиентов. Сделать расширение транспорт по аналогии с обновлениями в БСП добавив внешние обработки. после добавить отправку из клиентской базы в ветку. Доработал у клиента с минимальными усилиями перенес к себе.
Оставьте свое сообщение