Jenkins
Добавьте анализ в свой пайплайн
Добавьте коллектор AppArch этапом в пайплайн Jenkins. Находки попадают на панель, а сборку при желании можно ронять по превышению порога.
Аутентификация: Учётные данные пайплайна
Экраны работающей установки
Как подключается
- 01
Добавьте этап
Вставьте коллектор в пайплайн как отдельный этап.
- 02
Укажите токен
Учётные данные, чтобы результаты дошли до панели.
- 03
Войдите в хаб
Учётные данные вида логин-пароль с идентификатором и ключом установки подключают агент к hub.apparch.io, откуда берётся образ. Токен проекта не является учётными данными реестра.
- 04
Запускайте
Анализ выполняется на каждой сборке.
- 05
Передайте контекст PR
Jenkins не показывает переменные merge request провайдера; для ревью PR передайте провайдера, репозиторий и номер PR ($CHANGE_ID в multibranch-пайплайне) через переменные окружения. Без них этап выполняет полный скан.
Что вы получаете
Этап пайплайна
Анализ запускается одной командой.
Падение по политике
Перешагнули порог - сборка краснеет.
Любой агент и ОС
Docker-образ работает на любом агенте Jenkins.
Результаты на панели
Оценка и находки собираются в центральной панели.
Без плагинов
Этап - обычный docker run с тем же образом, что и в любом другом CI; обновление Jenkins его не ломает, а Jenkinsfile остаётся читаемым.
Код выхода 4 - нарушение политики
При превышении порога контейнер завершается с кодом 4, и Jenkins считает этап проваленным; сетевая ошибка завершается иначе, так что сбой никогда не примут за плохой код.
Как это работает внутри AppArch
Плагина нет: анализатор - это контейнер, который запускает ваш агент Jenkins. AppArch никогда не обращается к Jenkins.
Что читает
- Ничего: AppArch никогда не обращается к Jenkins
Что делает job
- Запускает образ collector для языка через docker run и отправляет находки с токеном проекта
- Для ревью MR вы передаёте контекст в переменных APPARCH_Collector__Provider__*
- Завершается с кодом 4, когда находка достигает порога fail-on, после отправки результатов
Чего никогда не делает
- Нет плагина, запуска сборок и записи статуса сборки
Две пары значений: ID и ключ установки, чтобы скачать образ с hub.apparch.io, и токен проекта (aa_proj_) для связи с вашим сервером AppArch.
Как это выглядит в продукте
Все скриншоты
Подключите Jenkins
Подключение за минуты - первый разбор придёт уже на следующем изменении.