Взаимодействие 1С со сторонними продуктами посредством REST и Golang (middleware). Часть 2 - Docker

18.06.21

Разработка - DevOps и автоматизация разработки

В предыдущей статье мы создали микросервис, сейчас мы поместим его в Docker контейнер. Статья будет иметь практическую направленность в минималистичном стиле

Предыдущие и будущие статьи:

Я буду использовать Docker Desktop для Windows (учтите что на Home версию он не установится) переводим установленный Docker в режим Linux контейнеров. Используем иконку в системной трее

 

Крутые админы используют для настройки командную строку, но для визуализации структуры и простоты используем GUI Kitematic

Нажимаем кнопку New и добавляем по поиску интересующий нас контейнер например так

Для создания своего контейнера с митросервисом из статьи 1, нам нужен специализированный Dockerfile в котором будет прописаны настройки, а также софт-окружение который будет установлен в контейнер. Тут стоит заменить что контейнер это минимальная сборка ОС, на которую мы "доставляем" свой софт.

Содержимое Dockerfile

Коротко, берем образ с окружением среды разработки Go, скачиваем наш микросервис и зависимые пакеты, компилируем, запускаем, открываем порт 8181.  

Билдим контейнер, видно как выполняется поэтапно каждая инструкция Dockerfile (команды есть в исходниках на GitHub)

Запускаем контейнер, пробрасываем порт, указываем имя.

Контейнер появился в списке активных

 

Теперь микросервис доступен по порту 8181

К сожаление я не смог настроить взаимодействия контейнеров флагами в команде run при запуске контейнера (кто подскажет буду рад), но можно это сделать в GUI, чтобы микросервис видел другой контейнер с RabbitMQ

Остается опубликовать созданный контейнер в docker hub, заходим в учетную запись на сайте https://hub.docker.com/ создаем новый репозиторий

Задаем имя, подключаем к GitHub учетной записи, создаем

Запускаем построение контейнера в Docker Hub

Можно настроить автоматическую сборку контейнера например при изменениях в GitHub репозитории.

После публикации можно установить контейнер путем поиска в GitHub или командой docker run dmitrymsk777/connector_1c_enterprise

На данный момент Docker Hub не собирает корректно контейнер, так как система логирования в микросервисе написана под Windows, т.к разрабатываю я под Windows, но контейнер основан ли Unix-подобной ОС. На данный момент думаю как переделать скоро поправлю. Ранее публиковал более простой контейнер, схема рабочая.

Адрес исходников DockerFile на GitHub https://github.com/dmitry-msk777/Connector_1C_Enterprise

ОБНОВЛЕНИЕ:

Образ доступе в Docker Hub как на сайте так и в GUI Kitematic

ОБНОВЛЕНИЕ: 28.09.2020

Описанный в статье проект, который разворачивался находится в ветке "RabbitMQ+DockerFile"

В основном проекте появилось много других пакетов, загрузка которых не прописанна в Докерфайле, поэтому бутут проблемы с развертыванием.

ОБНОВЛЕНИЕ: 18.06.2021

Сейчас для управления докером в виде графического интерфейса пользуюсь Portainer 

Можно использовать для одиночно установленного докера, для докера в режиме Swarm и для Kubernetes

Golang RabbitMQ REST API middleware Docker DokerHub

См. также

Автотесты для типовых конфигураций ERP Управление предприятием 2 и Комплексная автоматизация 2 (для vanessa automation)

Тестирование QA DevOps и автоматизация разработки Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Налоговый учет Платные (руб)

Готовые тестовые сценарии, предназначенные для регресс-тестирования функционала конфигурации после обновления типовым релизом. Сценарии проверяют интерактивное заполнение форм документов, справочников и результат проведения документов. Сценарии возможно использовать как для vanessa-automation, так и для СППР. Поддерживаемые версии конфигураций ERP2 и КА2: 2.5.15.111.

2220 руб.

04.07.2022    6972    26    1    

24

Автотесты для типовых конфигураций Бухгалтерия предприятия КОРП 3.0 и Бухгалтерия предприятия 3.0 (vanessa automation)

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

Готовые тестовые сценарии, предназначенные для регресс-тестирования функционала конфигурации после обновления типовым релизом. Сценарии проверяют интерактивное заполнение форм документов, справочников и результат проведения документов. Сценарий – feature-файл, разработанный с помощью vanessa-automation. Запуск сценария выполняется интерактивно с помощью vanessa-automation или с помощью vanessa-runner в CI-системах. Доступно тестирование тонкого клиента. Поддерживаемые версии конфигураций 1С:Бухгалтерия предприятие 3.0 и версии КОРП: 3.0.144.49.

1728 руб.

20.01.2022    6737    10    0    

9

Системы контроля версий для 1С-разработчиков.

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

Основы командной разработки на 1С. Использование систем контроля версий при разработке на платформе 1С:Предприятие 8

4900 руб.

29.06.2022    9437    78    4    

112

Управление сборкой. Расширение для конфигурации СППР

DevOps и автоматизация разработки Платформа 1С v8.3 Конфигурации 1cv8 1С:Франчайзи, автоматизация бизнеса Платные (руб)

Подсистема «Управление сборкой GLI» предназначена для динамического формирования сборочных линий Gitlab и отслеживания процесса доработок систем на базе1С:Предприятия Позволяет упростить выпуск новых релизов системы, подготовить описание доработок системы. Интегрируется с GitLab API по событиям Push, Merge-request, Pipeline. Уведомляет пользователей о результатах сборки/тестирования сборочных конвейеров через СВ, либо при её недоступности или отсутствию по E-Mail. Поможет при отправке исправлений ошибок в общую базу тестирования, сформирует запросы на слияние в ветку версии только по протестированному и подтверждённому функционалу. Подсистема рассчитана исключительно на клиент - серверную архитектуру тестовых ИБ. Поддерживаемая версии СППР 2.0.4.15, платформа не ниже 8.3.17.1549, 2.0.7.3 / не ниже 8.3.21.1664, начиная с релиза 1.0.4.30 требуется платформа не ниже 8.3.23 рекомендуемый релиз 8.3.23.1997

7000 руб.

26.08.2022    10823    7    5    

30

Автоматическое подтверждение легальности обновления базы или как обновить 100 типовых баз 1С за 5 часов

DevOps и автоматизация разработки Обновление 1С Платформа 1С v8.3 Конфигурации 1cv8 1С:Бухгалтерия 3.0 1С:Зарплата и Управление Персоналом 3.x Абонемент ($m)

Расширение для конфигураций 1С для автоматического подтверждения легальности обновления и выполнения обработчиков обновления при пакетном автоматическом обновлении большого числа баз 1С. А также сам модуль обработки по автоматическому обновлению баз.

2 стартмани

08.05.2019    24444    56    VPanin56    26    

28

1С, СППР и Архитектура как код

DevOps и автоматизация разработки Бесплатно (free)

Можно ли идеи подхода «Архитектура как код» положить на 1С или иную платформу, чтобы не изобретать ещё какой-то язык и сразу получить множество готовых библиотек функций и инструмент достижения главной цели подхода AaC.

01.02.2024    2790    roman72    9    

8

TCP прокси-сервер хранилища конфигурации 1С

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

Продолжение истории с прокси хранилища, но уже не на HTTP, а на TCP и без падений по памяти веб-сервера. Проверяем комментарии хранилища, вызываем веб-хуки, старты пайплайнов, gitsync по событию помещения версии в хранилище. И все это полностью на знакомом и понятном OneScript.

17.01.2024    3046    kamisov    17    

60

Infrastructure as code: кнопка «Сделать всё», или Упаковываем наше окружение в 5 кБ текста

DevOps и автоматизация разработки Бесплатно (free)

Когда под каждый проект нужно развернуть отдельный стенд разработки и сборочную линию для его обслуживания, велик риск влияния человеческого фактора. О том, как зафиксировать инженерный опыт в скриптах и унифицировать необходимые настройки для автоматизированного разворачивания инфраструктуры с помощью Terraform и Ansible, пойдет речь в статье.

01.11.2023    1411    Libelle    5    

14
Оставьте свое сообщение