如何使用另一个自由式项目中的属性文件在管道中加载变量?

时间:2019-07-12 14:01:43

标签: jenkins

我有一个詹金斯的“自由式”项目,该项目会触发一个“管道”项目(实际上,在管道项目的“构建触发器”步骤中,我的“自由式”项目被称为触发器)。

如何从每个“ parent / freestyle”项目构建版本创建的“ .properties”文件中获取变量值?

当前,我已经检查了“父/自由样式”项目上的“归档工件”,并将以下代码添加到我的“子/管道”中:

node 
{
    load "${WORKSPACE}/variables.properties"
    echo "${PARAM_FROM_TRIGGER}"
}

pipeline
{
    agent any

    stages 
    {
        stage('STEP1')
        {
            steps
            {
                sh '''
                #!/bin/bash  
                echo 'STEP 1'
                '''
            }
        }
    }
}

在构建“子代/管道”后遇到异常:

  

java.nio.file.NoSuchFileException:   /var/lib/jenkins/workspace/my_pipeline/variables.properties

如何从属性文件中加载值?

1 个答案:

答案 0 :(得分:1)

由于您已经在归档.properties文件,因此我认为您正在寻找Copy Artifact Plugin

您可以使用以下命令:

copyArtifacts(projectName: 'sourceproject');

将工件从父代/自由样式复制到子代/管道的工作空间中。