Jenkins共享库未引用

时间:2018-11-28 08:22:39

标签: jenkins groovy shared-libraries jenkins-pipeline

我无法在回购的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并且没有找到

1 个答案:

答案 0 :(得分:0)

图书馆电话应该在jenkins文件的开头,请按照以下步骤操作

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

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

  1. 如果要动态调用库,则应按以下方式调用:-
  

库标识符:“ custom-lib @ master”,检索器:   modernSCM([$ class:'GitSCMSource',remote:   'git@git.mycorp.com:my-jenkins-utils.git',certificateId:   'my-private-key'])

请参阅此link

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