你究竟如何在Jenkins中使用变量?

时间:2015-01-23 18:59:26

标签: variables jenkins

有人可以简明扼要地解释下面这三个变量之间的区别是什么吗?因为老实说,当我创建詹金斯的工作时,我会随机猜测这三种类型,直到有效的方式,但我喜欢理解而不是盲目地选择。

${ENV,var="BUILD_USER"}
${BUILD_USER}
$BUILD_USER

另外,除了以上3种方式之外,还有其他方法可以在Jenkins中编写我想念的变量吗?

2 个答案:

答案 0 :(得分:1)

在声明中使用时: $ {ENV,var =" BUILD_USER"} - 评估系统环境变量并返回变量BUILD_USER的值。

示例:curl $ {ENV,var =" BUILD_USER"} / api / xml

$ {BUILD_USER} - 返回当前脚本内存空间中BUILD_USER变量的值。

示例:curl $ {BUILD_USER} / api / xml

$ BUILD_USER - 用于为BUILD_USER变量赋值。

示例:$ BUILD_USER =" BUILD_USER"

答案 1 :(得分:0)

通常,变量扩展取决于解释配置值的插件。

例如,如果您设置一个作业参数GIT_REPOSITORY并使用它来配置git clone应该通过将$ GIT_REPOSITORY放入git存储库字段的地址,它可以工作,但仅仅因为Jenkins git插件已经实现了变量扩展支持。

许多插件确实实现了它,但除非你测试它,否则你无法知道它。然而,现在支持是如此普遍,可以安全地假设它应该起作用。

两种形式的参考,$ VAR和$ {VAR}都有效,并且是等效的。如果您需要在可被解释为变量一部分的其他字符包围的地方使用变量,例如$ VARX(Jenkins将查找名为VARX的变量)和$ {VAR} X,则后一种形式非常有用(Jenkins了解变量名为VAR)。

这些规则是在Unix shell中的变量扩展规则之后建模的。实际上,作业变量可用作构建步骤的环境变量,在Unix shell构建步骤中,变量的使用方式与上面相同。

在Windows CMD构建步骤中,变量再次像任何Windows环境变量一样使用:%VAR%。

相关问题