2016-12-09 6 views

답변

3

일부 외부 리소스를 사용하지 않고 파이프 라인의 작업간에 아티팩트를 전달할 수 없습니다. 그러나 단일 작업으로 여러 작업을 전달할 수 있습니다. 또한 작업 별 수준이 아닌 작업 별 수준으로 이미지를 지정합니다. Ergo는 원하는 작업을 수행하는 가장 간단한 방법은 독점 이미지를 생성하는 첫 번째 작업과 컨테이너 이미지로 사용하는 두 번째 작업이있는 단일 작업을 수행하는 것입니다.

빌드 태스크에서 도커 이미지를 빌드하고 docker export을 사용하여 이미지의 파일 시스템을 출력 (my-task-image)에 넣을 수있는 rootfs로 내 보내야합니다. 특정 스키마가 일치해야하는 rootfs 출력에 유의하십시오. rootfs/... (추출 된 '도커 내보내기')와 빈 json 객체를 포함 할 수있는 metadata.json이 필요합니다. 스키마와 일치시키는 방법에 대한 자세한 정보는 docker-image-resource 내의 in 스크립트를 볼 수 있습니다 : https://github.com/concourse/docker-image-resource/blob/master/assets/in. 그런 다음 후속 작업에서, 당신은 같은 파이프 라인의 YML의 이미지 매개 변수를 추가 할 수 있습니다

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

을 작업에 내장 된 이미지를 사용하기 위해.

+0

이 작업을 시도했지만 성공적으로 이미지를 빌드하는 작업을 가져올 수 없습니다. 내가 아는 한 작업은 도커에서 실행해야한다는 것을 의미합니다. 즉, 도커 내에서 도커를 실행해야 함을 의미합니다. – Shawabawa

+0

[튜토리얼] (http : // engineering. pivotal.io/post/concourse-docker-image-resource-cache-tutorial/)'docker-image-resource'를 사용하여 썼습니다. – materialdesigner

+4

다시 이미지를 푸시합니다. 도커 컨테이너를 만들고 푸시하지 않고 사용할 수 있기를 원합니다. – Shawabawa