feature/21176 #1
|
@ -75,6 +75,7 @@ pipeline {
|
|||
steps {
|
||||
script {
|
||||
printReport(report)
|
||||
saveReport(report)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -96,14 +97,14 @@ pipeline {
|
|||
body: "Build time: ${currentBuild.durationString}. See ${env.BUILD_URL}"
|
||||
emailext attachmentsPattern: "**/walker_notes.${PIPELINE_BUILD_NUMBER}.md",
|
||||
to: 'jenkinsreleases@d4science.org',
|
||||
subject: "Walker Dependencies for gCube component ${inputProject} (build #${PIPELINE_BUILD_NUMBER})",
|
||||
body: "Release notes extracted from the CHANGELOG.md(s) of the released components. See ${env.BUILD_URL}"
|
||||
subject: "Dependency Report for gCube component ${inputProject} (build #${PIPELINE_BUILD_NUMBER})",
|
||||
body: "Downstream dependencies of ${inputProject}. See ${env.BUILD_URL}"
|
||||
}
|
||||
failure {
|
||||
echo 'The dependencies walker pipeline has failed'
|
||||
emailext attachLog: true,
|
||||
to: 'jenkinsbuilds@d4science.org',
|
||||
subject: "[JenkinsDependenciesWalker D4S] build ${currentBuild.fullDisplayName} failed",
|
||||
subject: "[JenkinsDependenciesWalker D4S] build ${currentBuild.fullDisplayName} failed for component ${inputProject}",
|
||||
body: "Something is wrong with ${env.BUILD_URL}"
|
||||
manuele.simi marked this conversation as resolved
|
||||
}
|
||||
}
|
||||
|
@ -182,16 +183,59 @@ def printReport(report) {
|
|||
text += "\n"
|
||||
}
|
||||
println text
|
||||
appendNotes(text)
|
||||
|
||||
}
|
||||
|
||||
def appendNotes(report) {
|
||||
sh("""
|
||||
echo "${report}" >> $WALKER_NOTES
|
||||
""")
|
||||
// print the final report
|
||||
manuele.simi marked this conversation as resolved
manuele.simi
commented
You don't need the shebang here. You don't need the shebang here.
roberto.cirillo
commented
Are you referring to the bash shell? I've used the bash shell otherwise the Is there an easier way to do that? Are you referring to the bash shell?
I've used the bash shell otherwise the `echo -e` option doesn't work.
Is there an easier way to do that?
manuele.simi
commented
But if it does work for you, leave like that. It's a detail. `echo` (without -e) works for sure without the shebang.
But if it does work for you, leave like that. It's a detail.
roberto.cirillo
commented
Yes it works but without the "-e" option the backslashes are not escapes. The result is an unreadable file. > `echo` (without -e) works for sure without the shebang.
>
> But if it does work for you, leave like that. It's a detail.
>
Yes it works but without the "-e" option the backslashes are not escapes. The result is an unreadable file.
|
||||
def saveReport(report) {
|
||||
def text = ''
|
||||
def indent = '\t'
|
||||
sh("""
|
||||
echo "Dependency Report for ${report['project']}" > $WALKER_NOTES
|
||||
echo "\n\n" >> $WALKER_NOTES
|
||||
echo "|--Project Maven Modules " >> $WALKER_NOTES
|
||||
""")
|
||||
report['downstream_modules'].each { depth, artifacts ->
|
||||
artifacts.each { name, data ->
|
||||
sh("""
|
||||
echo "${indent}|--Module: ${name}\n" >> $WALKER_NOTES
|
||||
echo "${indent * 2}|--Deepest Dependency Level: ${depth}\n" >> $WALKER_NOTES
|
||||
echo "${indent * 2}|--Used by (Maven Modules)\n" >> $WALKER_NOTES
|
||||
""")
|
||||
data['dependencies'].each { d ->
|
||||
sh("""
|
||||
echo "${indent * 3}|--${d}" >> $WALKER_NOTES
|
||||
echo "\n" >> $WALKER_NOTES
|
||||
""")
|
||||
}
|
||||
sh("""
|
||||
echo "${indent * 2}|--Referred by (Jenkins Projects)\n" >> $WALKER_NOTES
|
||||
""")
|
||||
data['projects'].each { p ->
|
||||
sh("""
|
||||
echo "${indent * 3}|--${p}" >> $WALKER_NOTES
|
||||
echo "\n" >> $WALKER_NOTES
|
||||
""")
|
||||
}
|
||||
}
|
||||
}
|
||||
sh("""
|
||||
echo "\n\n" >> $WALKER_NOTES
|
||||
echo "|--All Downstream Projects\n" >> $WALKER_NOTES
|
||||
""")
|
||||
report['downstream_projects'].unique().sort()
|
||||
report['downstream_projects'].each { p ->
|
||||
sh("""
|
||||
echo "${indent}|--${p}" >> $WALKER_NOTES
|
||||
echo "\n" >> $WALKER_NOTES
|
||||
""")
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// debug job
|
||||
def printJob(job) {
|
||||
println("fullname ${job.fullName}")
|
||||
|
|
Loading…
Reference in New Issue
Nice post block, it looks familiar...