bash - jenkins - 如何将值从 bash 传递到 groovy?

我正在使用两个脚本组件安装 jenkins。 bash 位首先运行,然后是 groovy。我希望能够从 bash 脚本->groovy 脚本传递一个值(属性?其他?)。

这可能吗?我是否需要将值写入属性文件并在 groovy 中读回?


编辑:我的目标是在 bash 中生成一个构建 # 并将其传递给 groovy,这样我就可以在 jenkins 显示中设置描述和构建 #。构建服务器上似乎没有 groovy,所以我正在寻找另一个方向。目前正在试验“postbuild”插件和“env-inject”插件。接受建议。

最佳答案

要成功,需要考虑以下几点:

  1. 确保您尝试使用 Jenkins 中的一个“执行 shell”或脚本来完成此操作。
  2. 导出 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

https://stackoverflow.com/questions/29550237/

相关文章:

html - 删除特定的 td 边框?

ruby-on-rails - 如何在日期选择中降序显示年份?

python - 如何在不重复的情况下从numpy数组中提取随机索引的N个元素?

eclipse - .gitignore 文件在每次项目发生变化时添加 "/bin/"

php - 如何在codeigniter中使用回调函数

java - 如何从 3 个整数组成 HashMap 的键?

php - 无法以正确的格式导出 xlsx 或 xls 所有数据都是困惑的

java - RestEasy 忽略枚举的 @JsonCreator 方法

php - fatal error : Call to undefined function mb_

wpf - 如何将打印到标签上的文本设为粗体、斜体或下划线?