A configuração da integração com CI/CD do Jenkins inclui os seguintes passos:
printf "login:senha" | openssl base64 -A
em que login e senha são o nome de usuário e a senha de uma conta no registro de imagens do fabricante do Kaspersky Container Security.
-e API_CA_CERT=${KCS_CA_CERT}
significa que a autenticação é executada e o verificador iniciado no CI/CD consegue garantir que o servidor de recebimento é autêntico. -e SKIP_API_SERVER_VALIDATION=true
significa que a autenticação do servidor de recebimento usando o certificado CA do controlador Ingress não é executada.Para criar variáveis de ambiente, inclua as seguintes linhas para Jenkinsfile:
LOGIN
: o nome da conta no registro de verificadores
PASS
: a senha do registro de verificadores
COMPANY_EXT_REGISTRY_USERNAME
: o nome da conta no registro da imagem verificada
COMPANY_EXT_REGISTRY_PASSWORD
: a senha do registro da imagem sendo verificada
COMPANY_EXT_REGISTRY_TLS_CERT
como uma string no formato .PEM: -----BEGIN CERTIFICATE-----\n... <
detalhes do certificado
> ...\n-----END CERTIFICATE-----
.
HTTP_PROXY
: <servidor proxy para solicitações HTTP>
HTTPS_PROXY
– <servidor proxy para solicitações HTTPS>
NO_PROXY
: <domínios ou máscaras de domínio correspondentes a serem excluídos do proxy>
Exemplo de informações para a inicialização do verificador no formato de um pipeline declarativo
Exemplo de dados para a inicialização de um verificador no formato de um pipeline com script
É possível gerar um artefato para download em formato .HTML ou .JSON para receber os resultados da verificação. Especifique um formato de artefato em --stout
da seguinte maneira:
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.1.1-lite jfrog.company.com/demo-kcs/bad:bad-project-test --html --stdout > result.html'
}
}
stage('archive') {
steps {
archiveArtifacts artifacts: 'result.html'
}
}
}
}
Para gerar um artefato .JSON, reescreva a linha --html --stdout> result.html'
no exemplo acima da seguinte maneira:
--stdout > result.json'
,
e na linha archiveArtifacts artifacts
, especifique o nome do arquivo no formato definido: 'result.json'.
Os resultados das verificações podem ser obtidos no formato especificado por você, além de visualizados na seção Resources → CI/CD.