← Назад к кейсам

GitHub / npm / Docker Hub из CI за корпоративным фаерволом

Зеркала и зависимости через QPOL, внутренний трафик — напрямую.

Корпоративные сети часто блокируют прямой выход к публичным реестрам пакетов — npm, PyPI, Maven Central, Docker Hub — и требуют ходить через внутренний прокси с лимитами и кэш-промахами. Билды, занимавшие две минуты, тянутся пятнадцать.

Точечное решение — направить через QPOL только хосты реестров, оставив внутренние сервисы на корпоративной сети. CI-раннеры получают QPOL CLI в образе. Короткий шелл-сниппет в prepare-шаге добавляет правило тоннеля для доменов реестра; остальное (внутренний Git, артефакт-сторы, дашборды) не затрагивается.

Кэш важен: тоннель быстрый, но не бесплатный. Если CI крутит сотни джоб в час, и каждая тянет с Docker Hub, накопительная стоимость — реальная. Поднимите локальный кэш-реестр (Harbor, Artifactory, pull-through) и пусть он сам ходит через QPOL. В тоннель будут уходить только промахи кэша.

Типичная грабля — поведение GitHub Actions. Раннер часто резолвит DNS через корпоративный резолвер, который может вернуть заблокированный IP для github.com. Принудительно используйте публичный DNS для этих имён до того, как тоннель начнёт работать.

Для self-hosted раннеров пригодится стабильный IP. С Personal server выход стабилен и его можно занести в whitelist на стороне реестра.