2017-02-26 20 views
1

Jenkinsの共有ライブラリの中にJenkins PipelineをGroovyスクリプトとして保存しています。私はさまざまな仕事のために異なるバージョンを使用したい。私はv1.0v2.0として私sharedLibレポで異なるバージョンをタグ付けしているJenkins Pipeline共有ライブラリのバージョンを使用

def call(body) { 
    // evaluate the body block, and collect configuration into the object 
    def config = [:] 
    body.resolveStrategy = Closure.DELEGATE_FIRST 
    body.delegate = config 
    body() 

    // now build, based on the configuration provided 
    node { 
    stage ('First Stage'){ 
     echo "This is first stage" 
    } 
    stage('Second Stage'){ 
     echo "This is second stage" 
    } 
    } 
} 

次のようにsample_jenkins.groovyと呼ばれるマイ共有ライブラリスクリプトです。私はv1.0を使用したいと思っています。私は@Libraryアノテーションで以下のように参照しています。私の仕事から

、私はGroovyのスクリプトを呼び出すことにより、共有ライブラリにアクセスしたと、この絵のように、その上に注釈@Library('[email protected]')を使用:

pipeline script consuming version <code>v1.0</code> with <code>@Library</code>

私は仕事を実行すると、私はエラーを取得しています。 ここに私が見ているエラーがあります。

pipeline script error messages

私は@Library('[email protected]')を使用するとき、私は同じエラーを取得します。私はどこかで間違っていますか?そうでない場合、どうやってバージョン管理を使うのですか? Jenkinsに使用するバージョンを教えるにはどうすればよいですか?誰かが私にジェンキンの共有ライブラリのバージョンを使用する方法の明確なイメージを教えてもらえますか?

+0

「これを実行できません」とはどういう意味ですか?何が起こりますか? 「マスター」がマスターのHEADのライブラリを少なくとも取得したことを確認しましたか? –

+0

ジョブを実行するとエラーが発生します。はい、私もマスターで試してみて、同じエラーがありました。 – AshJune

+0

これは私が取得していますエラーです:WorkflowScript:2:予期しないトークン:my_jenkinsfileの@行2、列1 my_jenkinsfile {org.codehaus.groovy.control.ErrorCollector.failIfErrorsで ^ 1エラー \t(ErrorCollector .javaファイル:310)org.codehaus.groovy.control.ErrorCollector.addFatalError(ErrorCollector.java:150)org.codehaus.groovy.control.ErrorCollector.addErrorで \t(ErrorCollector.java:120)で \t – AshJune

答えて

3

今、私はこの問題の可能性が高いことを覚えています。 Groovyの注釈は、「何か」に注釈を付ける必要があります。たとえ実際の関係がなくても、@Libraryのようなimport文があれば便利です。 import文がない場合は、本当に奇妙に見えるものを実行する必要があります。 "_"に注釈を付ける必要があります。

この例ではもう一度https://jenkins.io/doc/book/pipeline/shared-libraries/を確認してください。

関連する問題