2017-01-17 8 views
0

Jenkinsfileを使用して、ドッキング・イメージをJenkinsビルド・パイプライン・プラグインのローカル・ドッカー・レジストリにプッシュしようとしています。私はそれがで失敗だ瞬間Jenkinsfileのドッキング・イメージをレジストリにプッシュするときのエラー

stage('Initialise environment') { 
    checkout scm 
    db = docker.build('oracle', 'docker/oracle').run("-p 49160:22 -p 49161:1521") 
    wlp = docker.build('liberty', 'docker/liberty').run("-p 9080:9080 --link=${db.id}:oracle") 
    } 
    stage('Push image to registry') { 
     docker.withRegistry('https://localhost:5000') { 
      db.push() 
      wlp.push() 
     } 
    } 

に次のコードを持っている

Image.push([tagname])

:私はオプションのタグ名でイメージをプッシュすることができるはずのドキュメントを読んでから理解します次のエラーで最初にpush()を実行します。

Failure: groovy.lang.MissingMethodException: No signature of method: static org.jenkinsci.plugins.docker.workflow.Docker.push() is applicable for argument types:() values: [] Possible solutions: use([Ljava.lang.Object;), use(java.util.List, groovy.lang.Closure), use(java.lang.Class, groovy.lang.Closure), dump(), is(java.lang.Object), each(groovy.lang.Closure)

答えて

0

[OK]を、私は次の変更を行い、その問題を修正しているように見えます:

dbImage = docker.build('oracle', 'docker/oracle') 
    db = dbImage.run("-p 49160:22 -p 49161:1521") 
    wlpImage = docker.build('liberty', 'docker/liberty') 
    wlp = wlpImage.run("-p 9080:9080 --link=${db.id}:oracle") 
    } 
    stage('Push image to registry') { 
     docker.withRegistry('https://localhost:5000') { 
      dbImage.push() 
      wlpImage.push() 
     } 
    } 

は再びドキュメントを読んで、私は今(実行見ることができます))(プッシュに対し、実行中のコンテナにハンドルを返しますbuild()から返されたイメージオブジェクトに対してのみ呼び出すことができます

+0

そのドキュメントはどこですか?私はどのような型が返されるのかははっきりしないと思う。 –

関連する問題