如何提取文本文件的内容并将其分配给 Jenkinsfile 中的变量?

问题描述 投票:0回答:1

我的 Jenkinsfile 管道如下所示:

pipeline {
    agent { label 'compute-env-spotfleet' }
    ...

    stage('Testing') {
        sh '$(git diff HEAD^ requirements.txt) > requirements_change.txt' 
        sh 'cat requirements_change.txt' 

       script { 
           some_variable = 'requirements_change.txt'

当我在构建中运行上述代码时,

'cat requirements_change.txt'
行会按预期打印 git diff 列表。

但是,我想将这些 git diff(作为字符串)分配给变量

some_variable
。我该怎么做?

bash shell scripting
1个回答
0
投票

可以通过使用

returnStdout
步骤的
sh
选项来完成此操作,而无需将内容写入文件,如下所示:

some_variable = sh(returnStdout: true, script: 'git diff HEAD^ requirements.txt') 

© www.soinside.com 2019 - 2024. All rights reserved.