Работа с хранилищем конфигурации с разными версиями конфигуратора

08.06.22

Разработка - Групповая разработка (Git, хранилище)

Бывают ситуации (в моей практике - постоянно), когда нужно работать с одним хранилищем конфигурации из-под разных версий платформы. Предлагаю свой вариант решения.

Хранилище конфигурации - незаменимый инструмент, с которым удобно работать, даже когда с базой работает только один разработчик. Плюсы даже нет смысла перечислять - они очевидны и общеизвестны. Но вот незадача - очень часто нужно работать с разными заказчиками, а у них у всех базы работают под разными релизами, и синхронизировать версии, если заказчиков больше одного, - задача нетривиальная.

Если заказчиков двое - можно воспользоваться методом, предложенным в публикации //infostart.ru/public/1663203/, но что делать, если их трое и более?

Я давно использую следующее решение: для каждой используемой версии платформы устанавливаю свой сервер хранилища. Сервер хранилища - это же просто служба Windows. На один компьютер их можно установить сколько угодно, лишь бы порты были разные.

При появлении необходимости в использовании очередной версии - на компьютер, который трудится сервером, установите нужную версию платформы, при установке выберите флаг "Хранилище конфигурации".

Далее в реестре (regedit.exe), найдите путь к уже установленной службе (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\1C: Repository Server) и сохраните раздел в файл.

Любым редактором исправьте в этом файле названия службы, описание - так будет потом проще разбираться.

 

 

Сохраните файл и добавьте данные из него файла в реестр.

Снова зайдите в редактор реестра (regedit) и найдите вновь добавленную ветку.

Теперь необходимо отредактировать ключ Imagepath так, чтобы он указывал на общую для всех версий папку, но использовал уникальный порт, например:

c:\Program Files\1cv8\8.3.21.1302\bin\crserver.exe" -srvc -port 1302 -d D:\Cassaforte\

Для меня оказалось удобным использовать в качестве номера порта последние цифры из номера версии платформы, но никто не мешает вам придумать свою схему нумерации, например, нумеровать используемые порты по порядку, или еще как-нибудь.

Собственно, на этом установка окончена. Осталось перезагрузить компьютер, чтобы новая служба запустилась и пробросить порт через роутер, для того, чтобы к данному хранилищу можно было подключаться извне (если такая необходимость есть, конечно). Описывать проброс порта незачем, задача с одной стороны тривиальная, с другой - она отличается для каждой модели роутера.

Конечно, службу можно добавлять и другим способом - для этого есть множество инструментов командной строки, тут каждый может выбрать по вкусу.

Устанавливать и настраивать доступ через http считаю избыточным - никаких плюсов подключение через http по сравнению с tcp не приносит.

Возможно, используемый порт понадобится добавить в разрешенные в Брендмауре Windows.

Теперь можно получать доступ к одному и тому же хранилищу из разных версий платформы, меняя только путь к хранилищу:

tcp://адрес_компьютера:1302/ИмяХранилища - для версии 8.3.21.1302;

tcp://адрес_компьютера:1710/ИмяХранилища - для версии 8.3.20.1710; и так далее, по необходимости.

Практика использования такого механизма показала, что структуру хранилища компания 1С не меняет, и с одной и той же конфигурацией можно одновременно благополучно работать как с версиями 8.3.11, так и 8.3.21, никаких проблем нет.

В будущем, конечно, что-то может измениться, но работать-то нужно прямо сейчас.

Хранилище конфигурации версия хранилища разные версии

См. также

SALE! 50%

1С-программирование DevOps и автоматизация разработки Групповая разработка (Git, хранилище) DevOps для 1С Программист Стажер Платформа 1С v8.3 Платные (руб)

Использования систем контроля версий — стандарт современной разработки. На курсе научимся использованию Хранилища 1С и GIT при разработке на 1С:Предприятие 8. Разберем подходы и приемы коллективной разработки, научимся самостоятельно настраивать системы и ориентироваться в них.

4900 2450 руб.

29.06.2022    11930    99    4    

131

Групповая разработка (Git, хранилище) Программист Руководитель проекта Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Когда в хранилище одновременно разрабатывают несколько команд, сортировка сделанного и несделанного при формировании релиза и проведение code review по задачам превращаются в непроходимый квест. В таких случаях нужен бранчинг. Расскажем об опыте перехода на новую схему хранения кода для ИТ-департамента.

23.09.2024    2828    kraynev-navi    2    

25

Групповая разработка (Git, хранилище) Программист Бесплатно (free)

Называть Git новой технологией – уже смешно, но для многих 1С-ников это действительно «новое и неизведанное». Расскажем о плюсах и минусах двух главных систем контроля версий в мире 1С: Git и хранилища.

17.09.2024    7267    Golovanoff    69    

26

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Во многих командах незаслуженно забывают о том, что в базе меняются расширения (как от вендора, так и собственные) и внешние отчеты и обработки. Вплоть до того, что релиз происходит каждый день – меняются печатные формы, отчеты, обработки. Расскажем о том, как выгружать в Git не только изменения конфигурации рабочего контура, но и файлы внешних обработок и расширений.

05.09.2024    2168    ardn    12    

15

EDT Групповая разработка (Git, хранилище) Программист Платформа 1С v8.3 Бесплатно (free)

Заказчики любят EDT+Git за прозрачность и контроль качества. А у разработчиков есть две основные причины не любить EDT – это тормоза и глюки. Расскажем о том, что нужно учесть команде при переходе на EDT+Git.

14.08.2024    7621    lekot    34    

8

Групповая разработка (Git, хранилище) Программист Платформа 1С v8.3 Бесплатно (free)

В «долгоиграющих» проектах стандартный захват объектов 1С в хранилище может привести к длительным простоям других разработчиков. Но и создавать под каждую доработку отдельное хранилище, чтобы использовать технологию разветвленной разработки конфигураций от фирмы «1С» – избыточно. Расскажем о том, как разрабатывать в отдельной базе без ожиданий, а потом с легкостью перенести изменения в хранилище, используя основную идею технологии 1С – конфигурацию на поддержке хранилища.

05.08.2024    4227    sinichenko_alex    16    

25

Групповая разработка (Git, хранилище) Программист Руководитель проекта Стажер Бесплатно (free)

Про изменения и новинки в агрегаторе открытых проектов OpenYellow, которые появились с момента его создания: про портал, Github и Telegram

15.07.2024    3225    bayselonarrend    8    

24
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ImHunter 327 08.06.22 17:39 Сейчас в теме
Собственно, плюс. За предпоследний абзац, в основном.
А почему не стали пользоваться режимом совместимости хранилищ?
2. curdate 52 08.06.22 18:02 Сейчас в теме
(1) Режим совместимости - это, насколько я помню, про структуру хранения данных. Какой не выбери, он все равно не позволит подключаться разным версиям платформы к одному хранилищу.
3. user1677685 09.06.22 10:53 Сейчас в теме
Зачем службу через реестр создавать, когда можно быстро создать службу на выбранном порту с выбранной версией 1С?
Во вложении пример, можно переделать определение портов, если хочется.
Прикрепленные файлы:
Create_1C_RepositoryOnPort.cmd.txt
user621724_Dimav1979; +1 Ответить
4. curdate 52 09.06.22 11:26 Сейчас в теме
(3) Так исторически сложилось:). Я использую эту схему с множественными службами хранилища еще с 8.3.1 (на 8.2 не было контроля версии при подключении); тогда решить проблему нужно было быстро, ведь все работать-то должно было еще вчера.
Ведь в начале это была гипотеза - а будет ли работать 2 службы? Это же было не очевидно, что заработает. Проверил тогда по быстрому, первым пришедшим в голову методом. А потом просто использовал готовое - нет смысла оптимизировать минутную задачу, которую нужно выполнять даже не каждый месяц. Тем более, использование командной строки не добавит ни скорости, ни надежности, ни наглядности.

Но если начинать что-то строить с нуля, да без спешки - почему бы и не углубиться. Спасибо за cmd, пригодится:)
5. user1677685 09.06.22 11:42 Сейчас в теме
(4) Ну вот у меня в итоге за несколько лет простой cmd превратился в универсальный инструмент создания службы. Такие же созданы для службы 1С сервера, службы RAS, переопределения Applications, ComConnector, AdminConsol - удобно, когда на нескольких серверах устанавливаешь одну и ту же версию для предварительного тестирования и надо отдельную службу.
6. SerVer1C 815 09.06.22 16:02 Сейчас в теме
Это работает до тех пор, пока шаг влево-вправо не сделали.
7. yermak 51 14.06.22 08:41 Сейчас в теме
а не опасненько так делать? Что на это скажут разработчики фирмы 1с?
8. curdate 52 14.06.22 13:40 Сейчас в теме
(7) Волков бояться - в лес не ходить мучиться с разными версиями или работать без хранилища.
А разработчикам мы ничего не расскажем.
9. 7OH 70 14.06.22 18:47 Сейчас в теме
(1)
"Устанавливать и настраивать доступ через http считаю избыточным - никаких плюсов подключение через http по сравнению с tcp не приносит."
А как вы у заказчиКОВ то подключаетесь к созданным дома хранилищам ?
Вот как раз http в этом случае удобно.
Дома дописал - оттуда подключился и только забрал изменения, а не всю конфу через удаленку кидать.
10. curdate 52 14.06.22 19:18 Сейчас в теме
(9) tcp же, через внешний ip
GYlgamesh; +1 Ответить
Оставьте свое сообщение