【问题标题】:Jenkins Shared Library failed to referenceJenkins 共享库无法引用
【发布时间】:2018-11-28 08:22:39
【问题描述】:

我没有在我的 repo 的 src 中引用第二个 groovy 文件。

我的设置是这样的:库名 pipeline-library-demo github
我在 src 文件夹中添加了第二个 groovy 文件

app_config.groovy

#!/usr/bin/groovy

def bob(opt) {
 sh "docker run --rm " +
                '--env APP_PATH="`pwd`" ' +
                '--env RELEASE=${RELEASE} ' +
                "-v \"`pwd`:`pwd`\" " +
                "-v /var/run/docker.sock:/var/run/docker.sock " +
   "docker_repo/bob:1.4.0-8" ${opt}
}

def test(name) {
  echo "Hello ${name}"
}

我使用的 Jenkins 文件是:

pipeline {
    Library('pipeline-library-demo') _

    agent {
        node {
            label params.SLAVE
            config = new app_config()
        }
    }

    parameters {
        string(name: 'SLAVE', defaultValue: 'so_slave')
    }

    stages {
        stage('Demo') {
            steps {

                echo 'Hello World'

                sayHello 'Dave'
            }
        }
        stage('bob') {
            steps {
                config.test 'bob'
                config.bob '--help'
            }
        }
    }
}

我认为我没有正确引用 app_config.groovy 并且它没有找到

【问题讨论】:

    标签: jenkins groovy shared-libraries jenkins-pipeline


    【解决方案1】:

    库调用应该在 jenkins 文件的开头,请按照以下方式进行

    1. 如果您在 jenkins 配置中添加了库配置,则调用应如下所示:-

    @Library('pipeline-library-demo')_

    1. 如果你想动态调用库,你应该像下面这样调用:-

    库标识符:'custom-lib@master',检索器: 现代SCM([$class:'GitSCMSource',远程: 'git@git.mycorp.com:my-jenkins-utils.git', credentialsId: '我的私钥'])

    请参考link

    请在您的 app_config.groovy 中定义包。 (例如包 com.cleverbuilder)

    【讨论】:

      猜你喜欢
      • 2021-10-12
      • 1970-01-01
      • 2022-01-14
      • 1970-01-01
      • 2018-08-02
      • 2021-09-23
      • 1970-01-01
      • 2019-02-08
      • 2018-09-16
      相关资源
      最近更新 更多