2016-12-09 14 views

答えて

3

パイプライン内のジョブ間でアーティファクトを渡すことはできません。何らかの外部リソースを使用せずに保存することはできません。ただし、単一のジョブでタスク間をやりとりすることはできます。また、ジョブごとのレベルではなく、タスクごとのレベルでイメージを指定します。 Ergoは、あなたが望むことを行う最も簡単な方法は、ドッカー画像を生成するための最初のタスクと、それをコンテナ画像として消費する2つ目のタスクを持つことです。

あなたの場合、ビルドタスクでドッカーイメージを作成し、docker exportを使用してイメージのファイルシステムを出力に入れることができるrootfsにエクスポートします(my-task-image)。特定のスキーマを、それが一致する必要のあるrootfs出力に留意してください。 rootfs/...(抽出された 'docker export')と空のjsonオブジェクトを含むmetadata.jsonが必要です。スキーマと一致させる方法については、https://github.com/concourse/docker-image-resource/blob/master/assets/inのdocker-image-resource内のinスクリプトを見ることができます。タスクに建てられた画像を使用するために

- task: use-task-image 
    image: my-task-image 
    file: my-project/ci/tasks/my-task.yml 

:その後、後続タスクで、次のようなあなたのパイプラインYMLに画像パラメータを追加することができます。

+0

私はこれをやろうとしましたが、イメージを正常に構築するためのタスクを取得できません。私が知っている限り、タスクはドッカーで実行する必要があります。つまり、ドッカー内でドッカー内でビルドを実行しなければならないことを意味します。 – Shawabawa

+0

[チュートリアル](http:// engineering。 pivotal.io/post/concourse-docker-image-resource-cache-tutorial/) 'docker-image-resource'を使って書きました – materialdesigner

+4

もう一度イメージをプッシュします。ドッキング用のコンテナを作成し、プッシュなしで使用できるようにしたい – Shawabawa

関連する問題