Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jenkinsfile:从另一个脚本传递env_Java_Jenkins_Continuous Integration_Jenkins Pipeline - Fatal编程技术网

Java Jenkinsfile:从另一个脚本传递env

Java Jenkinsfile:从另一个脚本传递env,java,jenkins,continuous-integration,jenkins-pipeline,Java,Jenkins,Continuous Integration,Jenkins Pipeline,考虑一个包含两个jenkins文件的文件夹,jenkins文件a和jenkins文件b # JenkinsfileA node { environment { APP_NAME = 'APPLICATION_A' # Load the other jenkins file load `JenkinsfileB' } 在B中,$APP_NAME参数为空。将APP\u NAME参数从A传递到B的标准方法是什么?我应该在这里使用load还是其他什么?是环

考虑一个包含两个jenkins文件的文件夹,
jenkins文件a
jenkins文件b

# JenkinsfileA

node {
    environment {
        APP_NAME = 'APPLICATION_A'

    # Load the other jenkins file
    load `JenkinsfileB'
}

在B中,
$APP_NAME
参数为空。将
APP\u NAME
参数从A传递到B的标准方法是什么?我应该在这里使用
load
还是其他什么?是环境变量。首选还是我们可以以某种方式使用
参数

更新 我认为env对我不起作用的原因是因为jenkins在一个完全独立的工作空间中触发了第二份工作。我想这样做:

load 'JenkinsfileB', parameters: [[$class: 'StringParameterValue', name: 'MYPARAM', value: "some-value" ]]
但是不断地出错

java.lang.IllegalArgumentException: Expected named arguments but got [{parameters=[{$class=StringParameterValue, name=MYPARAM, value=some-value}]}, JenkinsfileB]
当我尝试使用
buildjob
语法而不是
load
时,构建甚至找不到JenkinsfileB,所以我被难住了



unrelated:是否仍然可以使用
node
正确的指令来确保构建在任何代理上运行,还是应该使用
管道{agent:any
}?从

获取节点是否有帮助谢谢Susan-让我看看。您知道
加载
构建作业
之间的区别吗?我真的不知道如何正确地使用
构建作业
。我更新了我的答案。
java.lang.IllegalArgumentException: Expected named arguments but got [{parameters=[{$class=StringParameterValue, name=MYPARAM, value=some-value}]}, JenkinsfileB]