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

Публикация № 1260204

Разработка - Обработки - Рабочее место

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

Вводные

  • Различные обработки и расширения для клиентов
    • Разработки нужно тестировать локально, поле доставлять до базы клиента
    • Разработки дорабатываются как локально, так и на стороне клиента
  • Разработка ведется по задачам и изменения нужно привязывать к ним
  • Есть сервисы, как настраивать описано в отдельной статье (ссылка)
    • трекер на базе 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. artbear 1193 06.07.20 12:35 Сейчас в теме
(0) 1 С небольшими расширениями удобно сразу через Гит работать, без хранилищ расширений.

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

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

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


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

См. также

Инструкция по установке redmine, gogs на Ubuntu 18.04

Системное администрирование Бесплатно (free)

В статье опишу порядок настройки сервисов для групповой работы.

06.07.2020    1067    malikov_pro    0    

Внедрение адресного склада в логистическом операторе

Бухгалтерский учет Загрузка и выгрузка в Excel Рабочее место Оптовая торговля Розничная торговля Учет ТМЦ Оптовая торговля Розничная торговля Учет ТМЦ v8 v8::ОУ УТ11 Оптовая торговля, дистрибуция, логистика Россия УУ УСН Бесплатно (free)

Каких-то 10 лет назад бюджет внедрений адресных складов составлял десятки тысяч долларов и месяцы работ целой команды, а теперь - типовое решение от 1С вполне рабочее и без кастомизации: немного интеграции, немного консультирования – и в продуктив. Внедрение адресного склада, в массе внедрений 1С:Управление торговлей, ред. 11.1 (далее УТ), штука до сих пор довольно-таки редкая. Данная статья описывает опыт одного маленького, но свежего внедрения адресного склада в УТ (11.1.10) и может быть интересна как практический кейс.

1 стартмани

10.08.2015    22404    papche    12    

Автоматизация складского учета с применением ТСД Ipod ProLinea

Рабочее место Терминал сбора данных Учет ТМЦ Учет ТМЦ v8 Украина УУ Бесплатно (free)

Добрый день, уважаемые пользователи сайта infostart.ru, хотелось обратить внимание на автоматизацию складского учета на предприятии. Казалось бы уже столько различных решений есть на рынке, но многие из них не подходят по нескольким причинам: ПО написанные под различные ТСД в большинстве своем реализованы через обмен файлами, что не очень хорошо(товар сняли с полки, но пока мы не выгрузили данные с ТСД, то по системе он ещё лежит на полке, хотя его там уже нет); Как известно iPod touch, это не просто плеер, а полноценный КПК с современной операционной системой iOS. Аналогичные ТСД марок Motorola или Casio выпускаются под управлением ОС Windows Mobile или Windows CE.

1 стартмани

09.08.2015    19727    davydoff    8    

Настройка продаж автозапчастей в 1С:Управление торговлей Ред 10.3

Рабочее место Оптовая торговля Розничная торговля Оптовая торговля Розничная торговля v8 УТ10 Автомобили, автосервисы 1С:Франчайзи, автоматизация бизнеса УУ Бесплатно (free)

Настройка продаж автозапчастей в УТ 10.3 с использованием AV / AV - open source продукт для удобного поиска автозапчастей (аналогов)

08.08.2015    19871    serp83    5