Как передать параметр файла другому заданию сборки в конвейере jenkins?

Как можно передать файл из текущей рабочей области в качестве параметра в задание сборки, например:

build job: 'other-project', parameters: [[$class: 'FileParameterValue', ????]]

person Tom Deseyn    schedule 18.05.2016    source источник


Ответы (3)


Вы можете передать полный путь к файлу, вы можете сделать:

node('master') {
  //Read the workspace path
  String path = pwd();
  String pathFile = "${path}/exampleDir/fileExample.ext";
  //Do whatever you wish with the file path 
}
person Daniel Hernández    schedule 18.05.2016

Какой кошмар - нет документации, заглянул в код jenkins и т.д.. Все перепробовал

В конце концов выяснилось, что это в настоящее время не работает. Вот ошибка Дженкинса.

https://issues.jenkins-ci.org/browse/JENKINS-27413

Ссылка отсюда: http://jenkins-ci.361315.n4.nabble.com/pipeline-build-job-with-FileParameterValue-td4861199.html

Вам нужно передать FileParameterValue

http://javadoc.jenkins.io/hudson/model/FileParameterValue.html

person TheJeff    schedule 28.10.2017

Этот подход предполагает, что у вас есть файл в рабочей области текущего задания.

pipeline
    {
        agent any
        stages {
            stage('Pass file type param to build job') {
                steps {
                    script {
                        def propertiesFilePath = "${env.WORKSPACE}/sample.properties"
                        build job: 'other-project',
                                parameters: [[$class: "FileParameterValue", name: "propertiesFile", file: new FileParameterValue.FileItemImpl(new File(propertiesFilePath))]]

                    }
                }
            }
        }
    }

Здесь имя нижестоящего/дочернего задания — «другой проект», а имя параметра типа файла в этом нижестоящем/дочернем задании — «propertiesFile». Тип FileParameterValue.FileItemImpl определен в классе FileParameterValue и используется внутри jenkins для обработки FileItem, а также добавление поддержки сериализации.

person Suryansh Bhadouria    schedule 04.06.2020