如何在JenkinsFiles中共享变量

时间:2017-06-19 20:37:31

标签: jenkins groovy

我有一组子JenkinsFiles从主JenkinsFile调用。主要的JenkinsFile定义了一些变量,我不想在子JenkinsFiles中定义它们。

这可能吗?

主要JenkinsFile示例:

#!groovy

String var1 = "something"
String var2 = "something"

load 'JenkinsFile-child1'
load 'JenkinsFile-child2'

JenkinsFile-child1:

#!groovy

echo var1
echo var2

1 个答案:

答案 0 :(得分:0)

管道脚本:

node{
    load 'main.groovy'
}

main.groovy

var1 = "world"
load 'child.groovy'

child.groovy

echo "hello $var1"

将打印hello world

在脚本中可以为当前作用域声明变量(字段)的键(对于整个脚本类)

如果在脚本中分配了未声明的变量,你就会这样做。

通常following annotation也应该有效,但不幸的是:

import groovy.transform.Field;
@Field String var1 = "world";