Newer
Older
pipeline {
agent { label 'docker-paas-agent' }
environment {
withCredentials([
usernamePassword(credentialsId: "jenkins_scans_creds", usernameVariable: 'GMP_USER', passwordVariable: 'GMP_PASSWORD')
]) {
sh '''#!/bin/bash
eval `oidc-agent-service use`
oidc-add infn-cloud-ops
# Orchent connection test
orchent depls > depls.output
then
echo "orchent depls: NOT ok"
cat depls.output
exit 1
else
/var/lib/jenkins/.local/bin/gvm-cli --gmp-username $GMP_USER --gmp-password $GMP_PASSWORD tls --hostname $HOST_IP --xml "<get_version/>" > gvm.output
if grep -q OK gvm.output
then
echo "gvm check: OK"
else
echo "gvm check: NOT ok"
cat gvm.output
exit 1
fi
wget -O site.yaml "${PLAYBOOK_URL}"
ansible-playbook site.yaml --extra-vars "paas_ci_test_step='create_deployment'"
stage ('Scan endpoints'){
steps {
withCredentials([
sshUserPrivateKey(credentialsId: "ssh_scans", keyFileVariable: 'keyfile'),
usernamePassword(credentialsId: "jenkins_scans_creds", usernameVariable: 'GMP_USER', passwordVariable: 'GMP_PASSWORD')
]) {
sh '''#!/bin/bash
eval `oidc-agent-service use`
cp ${keyfile} /home/jenkins/.ssh/id_rsa
ansible-playbook site.yaml --extra-vars "paas_ci_test_step='scan'"
'''
}
}
post {
failure {
archiveArtifacts artifacts: '*report.txt', allowEmptyArchive: true
emailext attachmentsPattern: '*report.txt', body: '$DEFAULT_CONTENT', subject: '$PROJECT_NAME - Build # $BUILD_NUMBER: Vulnerabilities detected!', to: '$DEFAULT_RECIPIENTS'
}
}
}
}
post {
always {
sh '''#!/bin/bash
ansible-playbook site.yaml --extra-vars "paas_ci_test_step='clean'"
'''
}
script {
if ( fileExists ('severity.json')) {
emailext body: '$DEFAULT_CONTENT', subject: '$DEFAULT_SUBJECT', to: '$DEFAULT_RECIPIENTS'
}
}