Configurar la integración al proceso de CI/CD de Jenkins
Configurar la integración a CI/CD de Jenkins comprende los pasos siguientes:
- Autorizar la CI/CD de Jenkins en el registro de imágenes del fabricante de Kaspersky Container Security. Para ello, en la estación de trabajo del operador del clúster, debe ejecutar el siguiente comando para preparar un hash Base64 de los datos de autorización:
printf "usuario:contraseña" | openssl base64 -A
donde "usuario" y "contraseña" equivalen al nombre de usuario y la contraseña de la cuenta en el registro de imágenes del fabricante de Kaspersky Container Security.
- Autorizar la API de Kaspersky Container Security. Para ello, siga los siguientes pasos:
- Copie el token de la API en la página My profile.
- Pegue el valor copiado del token de la API en la variable API_TOKEN en el archivo de configuración Jenkinsfile.
- Autenticar el servidor de recepción de datos en CI/CD con el certificado de CA del controlador de entrada. Para autenticarlo, en el archivo de configuración Jenkinsfile, especifique una de las siguientes variables:
-e API_CA_CERT=${KCS_CA_CERT}
implica la realización de la autenticación y que Scanner iniciado en CI/CD puede garantizar que el servidor de recepción es auténtico.-e SKIP_API_SERVER_VALIDATION=true
implica la no realización de la autenticación del servidor de recepción con el certificado de CA del controlador de entrada.
- Crear las variables de entorno de Jenkins:
Para crear las variables de entorno, añada las siguientes líneas a Jenkinsfile:
- Añada información sobre el registro de contenedores donde se encuentra Scanner, de la siguiente manera:
LOGIN
: nombre de la cuenta en el registro de ScannerPASS
: contraseña del registro de Scanner - Si configura el análisis de un repositorio privado, debe especificar los siguientes datos de autorización para asegurarse de que Scanner pueda acceder a una imagen:
COMPANY_EXT_REGISTRY_USERNAME
: nombre de la cuenta del registro de la imagen analizadaCOMPANY_EXT_REGISTRY_PASSWORD
: contraseña del registro de la imagen analizada - Para usar un certificado y establecer una conexión segura con el registro, debe especificar los datos del certificado en la variable de entorno
COMPANY_EXT_REGISTRY_TLS_CERT
como una cadena con el formato .PEM:-----BEGIN CERTIFICATE-----\n... <
datos del certificado
> ...\n-----END CERTIFICATE-----
. - Especifique las siguientes variables de la comunicación con un servidor proxy:
HTTP_PROXY
:<servidor proxy para solicitudes HTTP>
HTTPS_PROXY
:<servidor proxy para solicitudes HTTPS>
NO_PROXY
:<dominios o máscaras de dominio adecuadas que se excluirán del redireccionamiento>
- Añada información sobre el registro de contenedores donde se encuentra Scanner, de la siguiente manera:
- Añadir información para iniciar Scanner. Se añade la información para iniciar Scanner (esta contiene las bases de datos de vulnerabilidades y otros objetos maliciosos) al archivo de configuración Jenkinsfile como una canalización declarativa o de script.
- Generar un artefacto para su descarga
Puede generar un artefacto para descargar y recibir los resultados del análisis en los formatos .HTML o .JSON. Puede especificar el formato del artefacto en
--stout
de la siguiente manera:pipeline {
agent any
stages {
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'
}
}
}
}
Para generar un artefacto .JSON, vuelva a escribir la línea
--html --stdout> result.html'
en el ejemplo anterior de la siguiente manera:--stdout > result.json'
,y en la línea
archiveArtifacts artifacts
, especifique el nombre del archivo en el formato definido: 'result.json'.Puede obtener los resultados de los análisis en el formato que especificó y también puede visualizarlos desde la sección Resources → CI/CD.