我正在使用两个脚本组件安装 jenkins。 bash 位首先运行,然后是 groovy。我希望能够从 bash 脚本->groovy 脚本传递一个值(属性?其他?)。
这可能吗?我是否需要将值写入属性文件并在 groovy 中读回?
编辑:我的目标是在 bash 中生成一个构建 # 并将其传递给 groovy,这样我就可以在 jenkins 显示中设置描述和构建 #。构建服务器上似乎没有 groovy,所以我正在寻找另一个方向。目前正在试验“postbuild”插件和“env-inject”插件。接受建议。
最佳答案
要成功,需要考虑以下几点:
- 确保您尝试使用 Jenkins 中的一个“执行 shell”或脚本来完成此操作。
- 导出 shell 变量,以便该变量出现在将执行您的 groovy 脚本的子进程中。
# foo.sh
export foo=bar
groovy myscript.groovy
# myscript.groovy
def env = System.getenv()
String myvar=env['foo']
println myvar
运行 foo.sh 应该产生以下结果:
./foo.sh
bar
关于bash - jenkins - 如何将值从 bash 传递到 groovy?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29550237/