GitLab CI
Переменные CI/CD перестают быть хранилищем
Переменные проекта в GitLab видны всем, кто может править пайплайн, не имеют истории и не знают, кто их читал. Wardhold отдаёт значения раннеру по токену — с версиями, правами и журналом.
Подключение одной строкой
include: - remote: https://wardhold.ru/ci/wardhold.gitlab-ci.yml deploy: extends: .wardhold variables: WARDHOLD_URL: https://app.wardhold.ru WARDHOLD_REF: billing/deploy # проект/секрет script: - ./deploy.sh # значения уже в окружении
Токен кладётся в защищённую и маскируемую переменную проекта — единственный секрет, который остаётся в GitLab. Всё остальное живёт в Wardhold.
Что внутри
Шаблон и компонентработает
Классический include: remote для self-managed и компонент CI/CD Catalog с параметрами версии, адреса загрузки и контрольной суммы.
Установка бинаряработает
Linux amd64 и arm64, curl с запасным wget, проверка sha256. Переменная адреса загрузки переключает установку на внутреннее зеркало.
Закрытый контурработает
Ни один шаг не ходит в интернет, если зеркало и адрес инстанса внутренние — это основной сценарий self-managed GitLab в изолированной сети.
Маскирование в логев плане
У GitLab нет механизма, эквивалентного маскированию в GitHub. Пока правило простое: значения не печатать, токен держать masked и protected, срок — короткий.
Перенесём пайплайн вместе
Если у вас self-managed GitLab в закрытом контуре — расскажите про схему, подскажем порядок переноса переменных без остановки выкаток.