正如标题所述,我想捕获构建中所有阶段的日志,如下所示:
pipeline {
agent any
stages {
stage('Build First Repo') {
steps {
build job: 'jobOne', parameters: [string(name: 'branch', value: "${params.branch}")], quietPeriod: 1
}
}
stage ('Build Second Repo') {
steps {
build job: 'jobTwo', parameters: [string(name: 'branch', value: "${params.someOtherBranch}")], quietPeriod: 1
}
}
stage ('Deploy') {
steps {
build job: 'jobThree', parameters: [string(name: 'buildEnvironment', value: "${params.environment}")], quietPeriod: 1
}
}
stage ('Remote Build') {
steps {
build job: 'jobFour', parameters: [string(name: 'Hosts', value: "${params.hosts}")], quietPeriod: 1
}
}
}
post {
always {
mail to:me@mydomain.com, subject: "${currentBuild.currentResult} - ${currentBuild.fullDisplayName}", body:"...${currentBuild.rawBuild.getLog(100)}"
}
}
}
目前,我只能获得 pipeline 构建日志(我在post / always部分中通过电子邮件发送了该日志),这很有帮助,但还不够;我想从每个阶段获取日志。我想也许可以在每个阶段捕获它们并创建一个环境变量之类的东西,但是我不确定如何访问日志来构建这些作业。有人可以为我指出有关如何捕获这些工作日志的正确方向吗?
答案 0 :(得分:0)
您可以在任何阶段之后添加帖子部分。 您可以在那里设置sendind电子邮件。 要从构建中发送单个电子邮件,可以使用stash / unstash命令。您可以在每个部分中保存日志,最后取消隐藏它们并发送电子邮件。