我的 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
。我该怎么做?
可以通过使用
returnStdout
步骤的 sh
选项来完成此操作,而无需将内容写入文件,如下所示:
some_variable = sh(returnStdout: true, script: 'git diff HEAD^ requirements.txt')