Jenkins管道,是否有一种方法可以从控制台输出设置环境变量



我的jenkinsfile包含两个阶段,构建和上传&扫描(静态扫描的veracode(。我的控制台输出会包含一些类似的内容:build_id="21682834">表示veracode扫描ID。

有人能帮助找到这个数字并将其设置为环境变量吗?

检查以下代码。

def consoleLog = Jenkins.getInstance().getItemByFullName(env.JOB_NAME).getBuildByNumber(Integer.parseInt(env.BUILD_NUMBER)).logFile.text
def buildId = (consoleLog =~ 'build_id="(.*)"')[0][1]
echo "build_id: $buildId"
env.build_id = buildId

用于测试的完整管道。

pipeline {
agent any
stages {
stage('Hello') {
steps {
script {
echo "Something"
echo "Something"
echo "Something"
echo "Something"
echo 'build_id="21682834"'
echo "Something"
echo "Something"
def consoleLog = Jenkins.getInstance().getItemByFullName(env.JOB_NAME).getBuildByNumber(Integer.parseInt(env.BUILD_NUMBER)).logFile.text
def buildId = (consoleLog =~ 'build_id="(.*)"')[0][1]
echo "build_id: $buildId"
env.build_id = buildId
}
}
}
}
}

相关内容

最新更新