как хранить / распаковывать файлы в функции общей библиотеки Jenkins - PullRequest
0 голосов
/ 24 апреля 2018

Я пытаюсь написать метод "stash_files" и "unstash_files" в своем классе общей библиотеки.

  • работает ли stash только из рабочей области?
  • нужно ли сначала скопировать file.txt в рабочую область?
  • Я знаю, что stash получает имя_файлаи stash_name (будет раскрыто позже), как он работает здесь в разделяемой библиотеке?

Jenkinsfile:

@Library('Utils')
import org.jenkins.Utils
utils = new Utils(steps)
node() {
stage('first'){
     utils.doit("file.txt")
}}

разделяемая библиотека:

package src.org.jenkins

class Utils implements Serializable {
def steps

Utils(steps) {
    this.steps = steps
}

def doit(filename){
  this.steps.sh "echo hii > /tmp/$filename"
  this.stash_file(filename)
}

def stash_files(filename){
  this.steps.stash filename
}
def unstash_files(filename){
  this.steps.unstash filename

1 Ответ

0 голосов
/ 02 мая 2018

это сработало для меня:

def stash_file(file_name, name){
    this.steps.stash ('includes': file_name, 'name': name)
}

def unstash_file(name){
    this.steps.unstash name
}
...