首页 > 解决方案 > 如何使用来自另一个自由式项目的属性文件在管道中加载变量?

问题描述

我有一个触发“管道”项目的 Jenkins“自由式”项目(事实上,我的“自由式”项目在管道项目的“构建触发器”步骤中被提及为触发器)。

如何从“父/自由式”项目的每个构建创建的“.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

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

标签: jenkins

解决方案


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

您可以使用以下命令:

copyArtifacts(projectName: 'sourceproject');

将工件从父/自由式复制到子/管道的工作区。


推荐阅读