如何在Jenkins流水线中使用writeFile
写出环境变量?
虽然这似乎是一个简单的任务,但我无法找到任何关于如何让它工作的文档。
我尝试了$VAR
,${VAR}
和${env.VAR}
,但都没有效果...?
如何在Jenkins流水线中使用writeFile
写出环境变量?
虽然这似乎是一个简单的任务,但我无法找到任何关于如何让它工作的文档。
我尝试了$VAR
,${VAR}
和${env.VAR}
,但都没有效果...?
writeFile
),代码如下:pipeline {
agent any
environment {
SENTENCE = 'Hello World\n'
}
stages {
stage('Write') {
steps {
script {
writeFile file: 'script.txt', text: env.SENTENCE
}
}
}
stage('Verify') {
steps {
sh 'cat script.txt'
}
}
}
}
输出:
...
[Pipeline] { (Verify)
[Pipeline] sh
[test] Running shell script
+ cat script.txt
Hello World
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS
如果你想避免使用Groovy,这个方法也可以实现:
writeFile file: 'script.txt', text: "${SENTENCE}"
要将您的环境变量与文本组合起来,可以执行以下操作:
...
environment {
SENTENCE = 'Hello World'
}
...
writeFile file: 'script.txt', text: env.SENTENCE + ' is my newest sentence!\n'
env.GIT_COMMIT
(我想要写的)是null
。虽然我怀疑这可能是我的流水线中的另一个问题。 - F.P