106 lines
3.3 KiB
Groovy
106 lines
3.3 KiB
Groovy
//not required right now as CN is reachable from EMEA as well
|
|
def loopEnvironments(environments){
|
|
print env.JENKINS_URL
|
|
|
|
environments.each { key, val ->
|
|
|
|
//Execute only if you are on the same environment
|
|
//not required right now as CN is reachable from EMEA as well
|
|
if (env.JENKINS_URL == environments."${key}"[3].'jenkins')
|
|
{
|
|
envname = environments."${key}"[0].'name'
|
|
envurl = environments."${key}"[1].'env-url'
|
|
tokenname = environments."${key}"[2].'env-token-name'
|
|
|
|
sh 'python createReport.py "${envname}"'
|
|
}
|
|
|
|
}
|
|
}
|
|
pipeline {
|
|
options {
|
|
ansiColor('xterm')
|
|
}
|
|
//label libraryBuild is available in CN JAWS and ROW JAWS, therefore this one was used; no additional intents
|
|
agent {label 'libraryBuild'}
|
|
|
|
|
|
//here comes the trigger according to crontabs - jenkins is in UTC
|
|
triggers {
|
|
//every 1st of every month at 00:00
|
|
cron('0 0 1 * *')
|
|
|
|
//every day at 08:00
|
|
//cron('0 8 * * *')
|
|
|
|
//every monday at 08:00
|
|
//cron('0 8 * * MON')
|
|
|
|
|
|
}
|
|
environment {
|
|
//ProxySettings
|
|
AUTH = credentials('proxy')
|
|
proxy_user = "${AUTH_USR}"
|
|
proxy_pw = "${AUTH_PSW}"
|
|
http_proxy="http://${proxy_user}:${proxy_pw}@proxy.muc:8080"
|
|
https_proxy="http://${proxy_user}:${proxy_pw}@proxy.muc:8080"
|
|
no_proxy="localhost,127.0.0.1,.muc,.bmwgroup.net"
|
|
HTTP_PROXY="${http_proxy}"
|
|
HTTPS_PROXY="${https_proxy}"
|
|
NO_PROXY="${no_proxy}"
|
|
|
|
EUPROD_TOKEN_VAR = credentials('EUPROD_TOKEN_VAR')
|
|
EUPREPROD_TOKEN_VAR = credentials('EUPREPROD_TOKEN_VAR')
|
|
NAPROD_TOKEN_VAR = credentials('NAPROD_TOKEN_VAR')
|
|
NAPREPROD_TOKEN_VAR = credentials('NAPREPROD_TOKEN_VAR')
|
|
CNPROD_TOKEN_VAR = credentials('CNPROD_TOKEN_VAR')
|
|
CNPREPROD_TOKEN_VAR = credentials('CNPREPROD_TOKEN_VAR')
|
|
|
|
}
|
|
|
|
stages {
|
|
stage('install required python packages') {
|
|
steps {
|
|
sh '''
|
|
pip install --user -r requirements.txt
|
|
'''
|
|
print env.JENKINS_URL
|
|
}
|
|
}
|
|
|
|
stage('Execute Reporting Script') {
|
|
steps {
|
|
|
|
sh 'python createReport.py'
|
|
|
|
//Only required once CN is not reachable from EMEA
|
|
//loopEnvironments(environments)
|
|
}
|
|
|
|
}
|
|
stage('Send report') {
|
|
steps {
|
|
script {
|
|
try {
|
|
emailext subject: env.JOB_NAME,
|
|
body: 'Please find the output of your reports attached',
|
|
to: 'rene.forstner@nttdata.com',
|
|
replyTo: 'coco-apm@bmw.de',
|
|
attachmentsPattern: '*.csv'
|
|
|
|
}
|
|
catch ( mailExc ){
|
|
echo "Sending Email Failed: ${mailExc}"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
post {
|
|
always {
|
|
cleanWs()
|
|
}
|
|
}
|
|
} |