Configurar la integración a CI/CD de Jenkins comprende los pasos siguientes:
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.
-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.Para crear las variables de entorno, añada las siguientes líneas a Jenkinsfile:
LOGIN
: nombre de la cuenta en el registro de Scanner
PASS
: contraseña del registro de Scanner
COMPANY_EXT_REGISTRY_USERNAME
: nombre de la cuenta del registro de la imagen analizada
COMPANY_EXT_REGISTRY_PASSWORD
: contraseña del registro de la imagen analizada
COMPANY_EXT_REGISTRY_TLS_CERT
como una cadena con el formato .PEM:-----BEGIN CERTIFICATE-----\n... <
datos del certificado
> ...\n-----END CERTIFICATE-----
.
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>
Ejemplo de la información para iniciar Scanner como una canalización declarativa
Ejemplo de los datos para iniciar Scanner como una canalización de script
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.