Настройка интеграции с Jenkins CI/CD
02 марта 2026
ID 297198
Настройка интеграции с Jenkins CI/CD состоит из следующих этапов:
- Авторизация Jenkins CI/CD в реестре образов производителя Kaspersky Security для контейнеров. Для этого на рабочей станции оператора кластера подготовьте хеш по алгоритму Base64 от авторизационных данных, выполнив команду:
printf "login:password" | openssl base64 -Aгде login и password – имя и пароль учетной записи в реестре образов производителя Kaspersky Security для контейнеров.
- Авторизация API Kaspersky Security для контейнеров. Для авторизации требуется выполнить следующие действия:
- Скопируйте токен API на странице Мой профиль.
- Укажите скопированное значение токена API в переменной API_TOKEN в конфигурационном файле Jenkinsfile.
- Проверка подлинности сервера приема данных в CI/CD с помощью СА-сертификата Ingress-контроллера. Для проведения проверки в конфигурационном файле Jenkinsfile укажите одну из следующих переменных:
-e API_CA_CERT=${KCS_CA_CERT}– проверка будет проведена, и запускаемый в CI/CD сканер сможет убедиться в подлинности сервера приема данных.-e SKIP_API_SERVER_VALIDATION=true– проверка сервера приема данных с помощью СА-сертификата Ingress-контроллера проводиться не будет.
- Создание переменных окружения Jenkins.
Чтобы создать переменные окружения, необходимо добавить в файл Jenkinsfile следующие строки:
- Добавьте информацию по реестру контейнеров, где находится сканер в следующем виде:
LOGIN– имя учетной записи в реестре сканераPASS– пароль для реестра сканера - Если вы настраиваете сканирование для приватного репозитория, для доступа сканера к образу укажите следующие авторизационные данные:
COMPANY_EXT_REGISTRY_USERNAME– имя учетной записи в реестре сканируемого образаCOMPANY_EXT_REGISTRY_PASSWORD– пароль для реестра сканируемого образа - Для использования сертификата для безопасного подключения к реестру укажите данные сертификата в переменной окружения
COMPANY_EXT_REGISTRY_TLS_CERTв виде строки в формате PEM:-----BEGIN CERTIFICATE-----\n... <данные сертификата> ...\n-----END CERTIFICATE-----. - Укажите значения следующих переменных, обеспечивающих взаимодействие через прокси-сервер:
HTTP_PROXY:<прокси-сервер для запросов по протоколу HTTP>HTTPS_PROXY:<прокси-сервер для запросов по протоколу HTTPS>NO_PROXY:<домены или соответствующие им маски для исключения из проксирования>
- Добавьте информацию по реестру контейнеров, где находится сканер в следующем виде:
- Добавление информации для запуска сканера. Информация для запуска сканера, содержащего базы уязвимостей и других вредоносных объектов, добавляется в конфигурационный файл Jenkinsfile в виде декларативного или скриптового пайплайна.
Пример информации для запуска сканера в виде декларативного пайплайна
Пример информации для запуска сканера в виде скриптового пайплайна
- Формирование артефакта для скачивания.
Для получения результатов сканирования вы можете сформировать артефакт для скачивания в формате HTML или JSON. Формат артефакта вы можете указать в строке
--stdout, например:pipeline {agent anystages {stage('run scanner') {steps {sh 'docker login -u ${LOGIN} -p ${PASS} company.example.com'sh 'docker run -e API_BASE_URL=https://kcs.int.company.com -e SKIP_API_SERVER_VALIDATION=true -e API_TOKEN=${API_TOKEN} -e COMPANY_EXT_REGISTRY_USERNAME=${COMPANY_EXT_REGISTRY_USERNAME} -e COMPANY_EXT_REGISTRY_PASSWORD=${COMPANY_EXT_REGISTRY_PASSWORD} company.example.com:5050/company/kcs/scanner:v2.0.1-lite jfrog.company.com/demo-kcs/bad:bad-project-test --html --stdout > result.html'}}stage('archive') {steps {archiveArtifacts artifacts: 'result.html'}}}}Если необходимо сформировать артефакт в формате JSON, строку
--html --stdout > result.html'из приведенного выше примера требуется указать следующим образом:--stdout > result.json',и в строке
archiveArtifacts artifacts:необходимо указать название файла в заданном вами формате: 'result.json'.Результаты сканирования можно получить в указанном вами формате, а также посмотреть в разделе Ресурсы → CI/CD.