Jenkins:从FOLDER库调用GLOBAL库

时间:2018-07-06 16:15:36

标签: jenkins groovy jenkins-pipeline jenkins-groovy

我有一个全局库,通常是这样加载的:

@Library('pipelineUtilities')
def utils = new com.booty.jenkins.libraries.pipelineUtilities()

我有一个文件夹库(在vars目录中),如下所示:

#!groovy
class vars {
    public static String gitAuthorization = "Basic TEzZmVGMH...lZMTNmZUYwZWU="
}

我讨厌这样的硬编码,所以我想使用一个名为util的{​​{1}}函数

getBasicAuth()

当我尝试仅使用@Library而不实际使用库时

public String getBasicAuth(String account, String password){
    String userPass = account + ":" + password
    String basicAuth = "Basic "+ userPass.getBytes().encodeBase64()
    return basicAuth
}

没有问题,但实际上没有发生任何有趣的事情,当然,我们只是处理了#!groovy @Library('pipelineUtilities') class vars { public static String gitAuthorization = "Basic TEzZmVGMH...lZMTNmZUYwZWU=" } 批注。

但是:

@library

没有通过#!groovy @Library('pipelineUtilities') def utils = new com.booty.jenkins.libraries.pipelineUtilities() class vars { private String serviceAccount = "xxxxyyyy" private String serviceAccountPassword = "yyyyzzzzzz" public String gitAuthorization = utils.getBasicAuth(serviceAccount, serviceAccountPassword) } 步骤,更不用说def utils = new com.....了。它所做的是以某种神秘的方式崩溃。

所以-2个问题:

  1. 如何在代码中放置一个utils.getBasicAuth()块,以便在try/catch部分中查看出了什么问题
  2. 如何从文件夹库中调用全局库...

A,这一切都非常直观:-(

谢谢.a。

0 个答案:

没有答案