modified Jenkinsfile

master
SLW\ARNAUA 2023-05-17 13:51:05 +02:00
parent f0bcfd5a58
commit 0fec6a92c1
1 changed files with 66 additions and 74 deletions

140
Jenkinsfile vendored
View File

@ -52,9 +52,23 @@ pipeline {
}
}
stage('Checkout New Branch') {
steps{
script {
def now = new Date()
env.timestamp = now.format("yyMMdd-HHmm", TimeZone.getTimeZone('GMT'))
println env.timestamp
env.branch = env.timestamp+"-DynatraceConfigurationBackup"
dir("/opt/workspace/coco_apm_dynatrace_terraform_backup/") {
sh "git checkout -b \"${env.branch}\"
}
}
}
}
stage('Install Required Python Packages') {
steps {
dir("/opt/workspace/qm_report/") {
dir("/opt/workspace/coco_apm_dynatrace_terraform_backup_exporter/") {
retry(3) {
sleep(300*installRetryCount)
script {
@ -68,94 +82,72 @@ pipeline {
}
}
stage('Execute Exporting Script') {
steps {
dir("/opt/workspace/coco_apm_dynatrace_terraform_backup_exporter/") {
retry(3) {
sleep(300*reportRetryCount)
script {
sh "python3 export.py"
}
}
}
}
}
stage('Move SLO Configuration File') {
steps {
dir("/opt/workspace/") {
dir("/opt/workspace/coco_apm_dynatrace_terraform_backup_exporter/") {
// move slo configuration file
sh'''
mv /opt/workspace/shared_configuration/slo_parameter.yaml /opt/workspace/qm_report/
mv /opt/workspace/coco_apm_dynatrace_terraform_backup_exporter/output/* /opt/workspace/coco_apm_dynatrace_terraform_backup/
'''
}
}
}
stage('Execute Reporting Script') {
stage('Push Changes') {
steps {
dir("/opt/workspace/qm_report/") {
retry(3) {
sleep(300*reportRetryCount)
script {
reportRetryCount = reportRetryCount+1
def SCRIPT_PARAMETER = ''
if(SLICES.isEmpty()) {
currentBuild.result = 'ABORTED'
error('Aborting due to missing slice parameter')
return
} else {
SCRIPT_PARAMETER = SCRIPT_PARAMETER + " -s " + SLICES.toString()
}
if (PRESELECT.isEmpty()) {
if (FROMDATE=='') {
currentBuild.result = 'ABORTED'
error('Aborting due to missing startdate parameter')
return
} else {
SCRIPT_PARAMETER = SCRIPT_PARAMETER + " -f " + FROMDATE.toString()
}
if (TODATE=='') {
currentBuild.result = 'ABORTED'
error('Aborting due to missing enddate parameter')
return
} else {
SCRIPT_PARAMETER = SCRIPT_PARAMETER + " -t " + TODATE.toString()
}
} else {
SCRIPT_PARAMETER = SCRIPT_PARAMETER + " -p " + PRESELECT.toString()
}
echo "${SCRIPT_PARAMETER}"
sh "python3 createReport.py ${SCRIPT_PARAMETER}"
sh "python3 summary.py"
summary = readFile('summary.txt').trim()
}
}
// Only required once CN is not reachable from EMEA
// loopEnvironments(environments)
}
}
}
stage('Send Report') {
steps {
script {
dir("/opt/workspace/qm_report/") {
try {
emailext subject: "NEW ${env.JOB_NAME}",
mimeType: 'text/html',
body: "Please find the output of the daily QM-Report attached </br></br>${summary}",
// to: 'michaela.jaeger@bmw.de, OOC-Support@bmwgroup.com, Andreas.DA.Danzer@partner.bmw.de',
// to: 'rene.forstner@nttdata.com, Andreas.DA.Danzer@partner.bmw.de, linnea.bickeboeller@partner.bmwgroup.com',
// to: 'rene.forstner@nttdata.com, stephan.oertelt@bmw.de, Mohammed.Abadel@bmw.de, michaela.jaeger@bmw.de',
// to: 'rene.forstner@nttdata.com, ermis.wieger@nttdata.com, patryk.gudalewicz.bp@nttdata.com',
// to: 'patryk.gudalewicz.bp@nttdata.com',
// to: 'rene.forstner@nttdata.com, ermis.wieger@nttdata.com, arnel.arnautovic@nttdata.com, patryk.gudalewicz.bp@nttdata.com, stephan.oertelt@bmw.de, Mohammed.Abadel@bmw.de, michaela.jaeger@bmw.de, OOC-Support@bmwgroup.com, Andreas.DB.Danzer@bmwgroup.com',
to: 'Andreas.DB.Danzer@bmwgroup.com, Arnel.Arnautovic@nttdata.com, Ermis.Wieger@nttdata.com',
replyTo: 'coco-apm@bmw.de',
attachmentsPattern: '*.xlsx'
} catch ( mailExc ) {
echo "Sending Email Failed: ${mailExc}"
withCredentials([gitUsernamePassword(credentialsId: "jaws_dynatrace_bitbuket_user", gitToolName: 'Default')]) {
script {
dir("/opt/workspace/coco_apm_dynatrace_terraform_backup/") {
sh "git status"
sh "git add ."
sh "git commit -m \"${env.timestamp}\""
sh "git push origin ${env.branch}"
}
}
}
}
}
}
// stage('Send Report') {
// steps {
// script {
// dir("/opt/workspace/qm_report/") {
// try {
// emailext subject: "NEW ${env.JOB_NAME}",
// mimeType: 'text/html',
// body: "Please find the output of the daily QM-Report attached </br></br>${summary}",
// // to: 'michaela.jaeger@bmw.de, OOC-Support@bmwgroup.com, Andreas.DA.Danzer@partner.bmw.de',
// // to: 'rene.forstner@nttdata.com, Andreas.DA.Danzer@partner.bmw.de, linnea.bickeboeller@partner.bmwgroup.com',
// // to: 'rene.forstner@nttdata.com, stephan.oertelt@bmw.de, Mohammed.Abadel@bmw.de, michaela.jaeger@bmw.de',
// // to: 'rene.forstner@nttdata.com, ermis.wieger@nttdata.com, patryk.gudalewicz.bp@nttdata.com',
// // to: 'patryk.gudalewicz.bp@nttdata.com',
// // to: 'rene.forstner@nttdata.com, ermis.wieger@nttdata.com, arnel.arnautovic@nttdata.com, patryk.gudalewicz.bp@nttdata.com, stephan.oertelt@bmw.de, Mohammed.Abadel@bmw.de, michaela.jaeger@bmw.de, OOC-Support@bmwgroup.com, Andreas.DB.Danzer@bmwgroup.com',
// to: 'Andreas.DB.Danzer@bmwgroup.com, Arnel.Arnautovic@nttdata.com, Ermis.Wieger@nttdata.com',
// replyTo: 'coco-apm@bmw.de',
// attachmentsPattern: '*.xlsx'
// } catch ( mailExc ) {
// echo "Sending Email Failed: ${mailExc}"
// }
// }
// }
// }
// }
// }
post {
failure {