我正在尝试为我在 Groovy 中的项目编写 jenkins 构建脚本。问题是我想在脚本顶部定义一些变量,并在需要时将它们用作环境变量。
def someVariable = 'foo'
pipeline{
agent any
stages{
stage("build"){
environment {
specialParameter = someVariable
}
steps{
...
}
}
...
}
}
我还有一些其他步骤,它们的环境变量是不同的,而且我只想更改脚本的顶部以能够构建其他分支等等。所以我只想要一种在环境体中使用定义的someVariable的方法。
谢谢
首先,您可以使用 environment 部分来定义整个脚本中已知的环境变量:
pipeline {
agent any
environment {
TEST='myvalue'
}
stages{
stage("build"){
steps{
...
}
}
}
}
您还可以定义一个仅在一个阶段中已知的变量:
pipeline {
agent any
stages{
stage("build"){
environment {
TEST='myvalue'
}
steps{
...
}
}
}
}
但是对于您的解决方案(在管道上方使用 def ),您可以这样做:
def someVariable = 'foo'
pipeline{
agent any
stages{
stage("build"){
steps{
echo someVariable
}
}
}
}
这将输出'foo'
.
您可以通过阅读 Jenkins 在线书籍获得有关变量声明语法的更多信息。
更新:
def someVariable = 'foo'
pipeline{
agent any
stages{
stage("build"){
environment {
TEST = sh(script: "echo -n ${someVariable}", returnStdout: true)
}
steps{
sh 'echo "${TEST}"'
}
}
}
}
输出:
[test] Running shell script
+ echo foo
foo
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句