| Link | Description |
|---|---|
| Dashboard | Full pyramid — filter epic cm in awesome |
| Awesome | CM integration test details |
| selenoid-tests | Orchestrator + merged Allure |
Prod cm/hub: релизы с
main→ v3.0.0+. Pin-ветки 2.x — заморожены (rollback reference only).
Ветка Semver Назначение mainv3.0.0+ Активная prod-линия cm selenoid2-1.55-…-react18v2.3.0 frozen selenoid2-1.45-…-react16v2.2.1 frozen
Установщик стека qa-guru/selenoid — форк aerokube/cm. Одна команда на чистом сервере с Docker поднимает hub, UI, browsers.json и browser-образы.
| GitHub | qa-guru/cm |
| Docker Hub | qaguru/cm |
| Текущий релиз | v3.0.1 — docs/RELEASE_v3.0.1.md · qaguru/cm:v3.0.1 |
cm не содержит логику hub — он оркестрирует установку компонентов из других репозиториев:
cm selenoid start
├── скачивает qaguru/selenoid (hub) из GitHub Releases
├── записывает browsers.json (Chrome/Firefox + Playwright)
├── docker pull qaguru/webdriver-chrome + qaguru/playwright-*
└── запускает контейнер hub
cm selenoid-ui start
├── скачивает qaguru/selenoid-ui из GitHub Releases
└── запускает контейнер UI, связанный с hub
| Ресурс | Ссылка | Роль |
|---|---|---|
| selenoid | github.com/qa-guru/selenoid | Hub |
| selenoid-ui | github.com/qa-guru/selenoid-ui | Web UI |
| cm (этот) | github.com/qa-guru/cm | Установщик |
| browser-image | github.com/qa-guru/browser-image | Docker browser nodes |
| selenoid-tests | github.com/qa-guru/selenoid-tests | E2e/integration ethalon |
| Docker Hub | hub.docker.com/u/qaguru | Образы qaguru/* |
| Где | Назначение |
|---|---|
dev/browsers.json (selenoid-home) |
SSOT полный Docker-каталог (qaguru/* images) |
selenoid/data/browsers.json (этот репо, go:embed) |
Копия SSOT для cm selenoid configure / start без -j |
selenoid/config/browsers.json |
Копия SSOT на hub |
selenoid.qa.guru/deploy/browsers-production.json |
Prod overlay (только по явному prod-запросу) |
Правки Docker-каталога — в dev/browsers.json, затем dev/scripts/sync-cm-browsers.sh.
Режим --use-drivers (локальные chromedriver/geckodriver без Docker) не поддерживается из коробки — нужен свой JSON-каталог и флаг --drivers-info <url>. Для стека qa-guru используйте Docker-режим (по умолчанию).
Предварительные условия: Docker Engine 29.x (API 1.55, moby/moby client), доступ пользователя к docker, опубликованные релизы qa-guru/selenoid и qa-guru/selenoid-ui. Для сборки cm — Go 1.26.5.
Скачать бинарник из GitHub Releases или собрать локально (см. Сборка):
curl -sL https://github.com/qa-guru/cm/releases/latest/download/cm_linux_amd64 -o cm
chmod +x cmЗапуск (по умолчанию каталог /opt/selenoid, как на prod):
sudo mkdir -p /opt/selenoid
./cm selenoid start
./cm selenoid-ui startЛокально без прав на /opt — свой каталог:
./cm selenoid start -c "$HOME/selenoid"
./cm selenoid-ui start -c "$HOME/selenoid"cm selenoid start передаёт hub DOCKER_API_VERSION=1.55.
Обновление:
./cm selenoid update
./cm selenoid-ui update
./cm selenoid start -f # принудительно перекачать образы и бинарникиТекущий релиз cm: v3.0.1 — release notes.
Предыдущий: docs/RELEASE_v2.2.0.md. Docker: qaguru/cm:v2.2.1.
go build -o cm .| Флаг | Описание |
|---|---|
-v, --version |
Тег GitHub Release (по умолчанию latest) |
-j, --browsers-json |
Свой browsers.json вместо встроенного |
--selenoid-binary |
Путь к бинарнику hub вместо скачивания из Release |
--selenoid-ui-binary |
Путь к бинарнику UI вместо скачивания из Release |
-c, --config-dir |
Каталог данных (default: /opt/selenoid) |
-f, --force |
Перекачать образы и бинарники |
-n, --no-download |
Только записать browsers.json, без docker pull |
Флаги --browsers, --browser-env, --drivers-info — только для режима --use-drivers; --drivers-info обязателен (собственный каталог chromedriver/geckodriver).
Пример с локальными бинарниками:
./cm selenoid start --selenoid-binary /opt/selenoid/bin/selenoid
./cm selenoid-ui start --selenoid-ui-binary /opt/selenoid/bin/selenoid-ui/opt/selenoid/
browsers.json
bin/selenoid
bin/selenoid-ui
video/
logs/