Skip to content

Docker и ibcmd

Клиент и конфигуратор в контейнере не запустятся.

Команды vrunner могут выполняться не на локальной машине, а внутри Docker-контейнера с платформой 1С. Это полезно, когда платформа не установлена или её негде устанавливать:

  • единое окружение у всей команды — версия платформы зашита в образ;
  • работа в GitHub Codespaces и dev-контейнерах: в облачной среде нет GUI и установленной платформы, но серверные операции (создание ИБ, загрузка/выгрузка конфигурации, сборка) выполняются в контейнере прямо из расширения;
  • тот же образ используется в CI — локальный запуск и пайплайн ведут себя одинаково.

Включение

json
{
  "1c-platform-tools.docker.enabled": true,
  "1c-platform-tools.docker.image": "your-registry/vrunner:8.3.27"
}

Что доступно в контейнере

  • Рабочая папка проекта монтируется в контейнер, пути к файловой ИБ и исходникам подставляются сами.
  • Работают пакетные команды: создание и обслуживание ИБ, загрузка и выгрузка, сборка. Команды, которым нужен конфигуратор или клиент 1С, в контейнере не запустятся.
  • Образ должен содержать платформу 1С:Предприятие с компонентом сервера (для ibcmd) и vanessa-runner.

Где взять образ

Готовые публичные образы с платформой 1С не распространяются — лицензия 1С не позволяет. Образ собирается самостоятельно:

  • pravets/onec-images — рецепты и готовые GitHub Actions для сборки образов платформы и vrunner в свой registry; для скачивания дистрибутивов нужны учётные данные releases.1c.ru.
  • firstBitMarksistskaya/onec-docker — альтернативный набор, включает образы для Jenkins, k8s и gitsync.

Для расширения нужен образ с vanessa-runner (в onec-images — образ vrunner).

GitHub Codespaces

Способа два: платформа прямо в контейнере Codespace или Docker внутри Codespace.

Платформа в самом контейнере

Платформа 1С и OneScript ставятся в образ разработки, Docker-режим не нужен и остаётся выключенным. Работают пакетные команды: сборка и разбор cf/cfe/epf, загрузка и выгрузка исходников, обслуживание ИБ. Для них нужен ibcmd, то есть компонент сервера в образе; он включается параметрами профиля запуска vanessa-runner.

Графической оболочки в контейнере нет, поэтому клиент и конфигуратор не запустятся: команды из дерева не убраны, но перед запуском предупреждают об этом.

Адреса локальных сервисов расширение пробрасывает наружу само: и корень публикации автономного сервера, и отчёт Allure открываются в браузере на вашей машине.

Docker внутри Codespace

  1. В devcontainer.json подключите Docker: feature docker-in-docker (или docker-outside-of-docker).
  2. Авторизуйтесь в своём registry (docker login) и укажите образ в 1c-platform-tools.docker.image.
  3. Включите 1c-platform-tools.docker.enabled — команды дерева 1С: Инструменты будут выполняться в контейнере внутри Codespace.

Загрузка компонентов

В Codespaces вы уже авторизованы в GitHub, поэтому расширение берёт эту сессию и лимит анонимных запросов не мешает загрузке компонентов. См. Токен GitHub.

Распространяется по лицензии MIT.