Jenkins разделяет конвейер lib - получает статус сборки - PullRequest
0 голосов
/ 02 марта 2020

Я пытаюсь создать повторно используемую библиотеку для проекта конвейера Jenkins, но я не могу понять, как получить статус сборки, а также установить его. Если я использую сценарий Jenkinsfile или vars, он работает, но меня интересует использование структуры src / library.

Мне удалось заставить работать другие вещи, такие как обычный git, sh, узел, этапы с использованием интерфейса, но я не могу заставить работать оболочку 'currentBuild'. Я перепробовал много вещей, и я думаю, что мне нужно использовать RunWrapper, но я не могу понять это.

Раньше я имел возможность использовать следующий блок раньше в моем сценарии конвейера напрямую, и теперь я хочу переместить его в мою библиотеку: currentBuild.result = "UNSTABLE"

1 Ответ

2 голосов
/ 03 марта 2020

при использовании sr c Я полагаю, что вы вызываете файл, используя новое ключевое слово. Вы пытались передать элемент скрипта из JenkinsFile

Пример JenkinsFile

@Library('somalib@version')
import com.mypackage.MyClass //this is inside src folder
new MyClass(this).execute() //pass this to constructor

ваш MyClass выглядит как

package com.mypackage

class MyClass {
    this.script
    MyClass(script){
        this.script = script
    }

    execute(){
        script.node('nodeName'){
            script.echo(script.currentBuild.result)
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...