2017-05-03 9 views

答えて

4

同じジョブ内のタスク間を単に渡している場合は、成果物(http://concourse.ci/running-tasks.html#outputs)を使用できます。ジョブ間を渡す場合はリソースを使用できます(gitまたはs3に入れるなど)。あなたが仕事の間を通過している場合たとえば、あなたはタスクファイルを持つことができ

--- 
platform: linux 

image_resource: # ... 

outputs: 
- name: unique-id 

run: 
    path: project-src/ci/fill-in-output.sh 

、スクリプトfill-in-output.shはパスunique-id/にユニークなIDを含むファイルを配置します。これで、unique-id出力を入力(http://concourse.ci/running-tasks.html#inputs)とし、その一意のidファイルを使用する別のタスクを実行できます。

0

さらに、タスクリソースは、自分の作業ディレクトリに自動的にファイルを配置します。例えば

まあ

jobs: 
- name: build 
    plan: 
    - get: git-some-repo 
    - put: push-some-image 
     params: 
     build: git-some-repo/the-image 
    - task: Use-the-image-details 
     config: 
     platform: linux 
     image_resource: 
      type: docker-image 
      source: 
      repository: alpine 
     inputs: 
      - name: push-some-image 
     run: 
      path: sh 
      args: 
      - -exc 
      - | 
      ls -lrt push-some-image 
      cat push-some-image/repository 
      cat push-some-image/digest 

push-some-image

+ cat push-some-image/repository 
xxxxxxxxx.dkr.ecr.eu-west-1.amazonaws.com/path/image 
+ cat push-some-image/digest 
sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
0

からの画像のプッシュの詳細は、ジョブのタスク内でデータの受け渡しを参照してください、簡単に/入力を行うことができ、次のように私はパイプラインの仕事をしていますクラウフ・フーが指摘したように、成果物(ファイル)を出力する。

ジョブ間のケースについては、単純な場合など。 'string'データは渡されなければならず、gitを使用することは過剰なものであり、 'keyval'リソース[1]は良い解決策であるようです。 Readmeには、データが標準プロパティファイルとして保存および管理されていることが記載されています。

  1. https://github.com/SWCE/keyval-resource
関連する問題