Как прочитать путь к файлу файла Jenkins в Groovy [duplicate]

var text = $(this).text().replace(/REGEX_EXPRESSION/, 'REPLACEMENT_TEXT');
$(this).text(text);

Или вы можете использовать replaceWith вместо второго текста (), если это более подходит?

16
задан Daniel Butler 28 June 2016 в 15:51
поделиться

4 ответа

В настоящее время существует проблема с параметром конвейера и файла ( https://issues.jenkins-ci.org/browse/JENKINS-27413 ).

9
ответ дан AlexD 16 August 2018 в 11:42
поделиться

Решил его следующим образом:

node {
    deleteDir()
    stage("upload") {
        def inputFile = input message: 'Upload file', parameters: [file(name: 'data.zip')]
        new hudson.FilePath(new File("$workspace/data.zip")).copyFrom(inputFile)
        inputFile.delete()
    }
    stage("checkout") {
        echo fileExists('data.zip').toString()

    }
}

Я знаю, что решение не так красиво, потому что конвейер прерывается для загрузки, но он работает.

Далее «copyFrom «необходимо, потому что вход хранит« data.zip »в каталоге заданий, а не в рабочей области (не знаю почему)

4
ответ дан Christoph Forster 16 August 2018 в 11:42
поделиться

Я попытался использовать решение, предоставленное @Christoph Forster, но входной файл не копировался нигде в рабочей области. Поэтому я использовал обходной путь, как показано в https://bitbucket.org/janvrany/jenkins-27413-workaround-library/src/6b7dada8ea37?at=default

. Библиотека предоставляет новая библиотека - unstashParam - которая сохраняет параметр сборки файла в рабочее пространство. Хорошо работает с текстом и файлом yaml.

2
ответ дан Jayesh Jadhav 16 August 2018 в 11:42
поделиться
  • 1
    не могли использовать это обходное решение надежно - файлы случайным образом не копируются в рабочую область. – Florian Castellane 5 February 2018 в 12:19

Нашел WA (строго для ввода текстового файла). Мы можем использовать многострочный строковый параметр Jenkins и попросить пользователя вставить в него содержимое файла. И в нашем конвейере напишите содержимое этого параметра с помощью шага конвейера writeFile, как:

stage('File Param WA') {
          writeFile file: 'demo.yaml', text: params.DEMO_YAML
}

0
ответ дан Parvez Kazi 16 August 2018 в 11:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: