Участие в разработке¶
Инструменты разработки¶
-
EDT не ниже 2020.4.0+425
-
Платформа 1С не ниже 8.3.17.1549
-
1CUnits не ниже 0.4.0 (см. Transmitter.Tests)
Информация
Структура проекта создана на основе bootstrap-1c.
Процесс разработки¶
Предполагается следующий цикл при работе над проектом:
-
Получение последних изменений проекта из репозитория.
-
Разработка.
-
Тестирование в
develop
среде (модальные тесты, функциональные и интеграционные тесты)1. -
Запрос на добавление изменений в репозиторий.
Окружение¶
Конфигурация проекта¶
-
Собрать docker-образы для работы с 1С:Предприятие 8.
Обязательные переменные окружения при конфигурации проекта
DOCKER_USERNAME
-
учетная запись Docker Hub или путь к репозиторию в локальном хранилище (см. pull from a different registry)
ONEC_VERSION
-
версия платформы "1С:Предприятие 8"
-
Сконфигурировать
nethasp.ini
для получение лицензий "1С:Предприятие 8" в контейнерах. -
Добавить в файл
hosts
необходимые для разработки/тестирования сервисы из конфигурационного файла проекта.hosts# ... 172.28.189.202 srv # сервер "1С:Предприятие 8" 127.0.0.1 transmitter # веб-сервер для API и веб-клиента разрабатываемого сервиса 127.0.0.1 endpoint # веб-сервер получателя внешних обработок (интеграционные тесты) 127.0.0.1 mockserver # mock-сервер (модульное тестирование) 127.0.0.1 gitlab # Omnibus GitLab (интеграционные тесты) # ...
Местоположение файла
C:\Windows\System32\drivers\etc\hosts
/etc/hosts
Операции с окружением¶
Transmitter¶
Инициализация информационной базы¶
docker-compose up --build -d init
docker-compose rm -fs init ras
Строка подключения к информационной базе - Srvr=srv;Ref=transmitter;
.
Запуск сервиса¶
docker-compose up -d transmitter
Остановка сервиса¶
docker-compose stop transmitter
Endpoint¶
Запуск нескольких получающих внешние обработки информационных баз с веб-сервером, веб-клиентом и инициализацией этих баз из эталона:
docker-compose up --scale endpoint=2 --build endpoint
Результат
Ошибка
В последних версиях docker-compose
"что-то пошло не так" с распределением заданного в конфигурационном файле диапазона портов. Запускается только один контейнер. Проблема требует анализа.
Определение внутренних IP адресов:
docker inspect ^
--format="{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}" ^
epf-transmitter_endpoint_1 epf-transmitter_endpoint_2
docker inspect \
--format="{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}" \
epf-transmitter_endpoint_1 epf-transmitter_endpoint_2
GitLab¶
Создание архива¶
docker-compose exec gitlab /backup.sh
Восстановление из архива¶
docker-compose exec gitlab /restore.sh
EDT¶
- Лаунчеры для тестирования и запуска приложения
-
Было бы неплохо автоматизировать тестирование... ↩