2017-07-12 6 views
0

Dockerは--pullフラグをdocker buildに渡すことができます。 docker build --pull -t myimage .Jenkinsfileのパイプラインスクリプトを使用してベースイメージをプルする方法を教えてください。このようにして、ローカルで使用可能なバージョンであっても、常に最新のコンテナイメージを使用するようにします。 docker build --pull前に、スクリプトの先頭にJenkins/Docker:ビルド前にプルベースイメージを強制する方法

node('docker') { 
    def app 

    stage('Checkout') { 
     checkout scm 
    } 

    stage('Build image') { 
     docker.withRegistry('https://myregistry.company.com', 'dcr-jenkins') { 
      app = docker.build "myimage" 
     } 
    } 

    stage('Publish image') { 
     docker.withRegistry('https://myregistry.company.com', 'dcr-jenkins') { 
      app.push("latest") 
     } 
    } 
} 

答えて

0

docker rmi <image>、。 docker build --pullが実行されると、イメージはローカルに存在しないため、毎回新しいイメージがダウンロードされます。

0

最もストレートな答えはので、もしあなたが、.にちょうどそのデフォルトはそれを、それを指定しない場合docker.build

stage('Build image') { 
    docker.withRegistry('https://myregistry.company.com', 'dcr-jenkins') { 
     app = docker.build("myimage", "--pull .") 
    } 
} 

に2つ目の引数を使用することです何かを渡すには、あなた自身も文脈を含める必要があります。

これは、「パイプライン構文 - グローバル変数リファレンス」にあります。すべてのJenkins URLの末尾に/pipeline-syntax/globalsを追加してください(http://localhost:8080/job/myjob/pipeline-syntax/globals)。

関連する問題