Перейти к содержанию

Участие в разработке

Инструменты разработки

Информация

Структура проекта создана на основе bootstrap-1c.

Процесс разработки

Предполагается следующий цикл при работе над проектом:

  1. Получение последних изменений проекта из репозитория.

  2. Разработка.

  3. Тестирование в develop среде (модальные тесты, функциональные и интеграционные тесты)1.

  4. Запрос на добавление изменений в репозиторий.

Окружение

Конфигурация проекта

  1. Собрать docker-образы для работы с 1С:Предприятие 8.

    Обязательные переменные окружения при конфигурации проекта
    DOCKER_USERNAME

    учетная запись Docker Hub или путь к репозиторию в локальном хранилище (см. pull from a different registry)

    ONEC_VERSION

    версия платформы "1С:Предприятие 8"

  2. Сконфигурировать nethasp.ini для получение лицензий "1С:Предприятие 8" в контейнерах.

  3. Добавить в файл 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

  • Лаунчеры для тестирования и запуска приложения

  1. Было бы неплохо автоматизировать тестирование...