2016-12-09 23 views

cevap

3

Bu, bir boru hattındaki işler arasındaki eserleri depolamak için bir çeşit harici kaynak kullanmadan geçemeyeceğiniz şekilde tasarlanmıştır. Ancak, tek bir işteki görevler arasında geçiş yapabilirsiniz. Ayrıca, bir iş başına düzeyden ziyade görevin başına bir düzey belirtebilirsiniz. Ergo, istediğini yapmanın en kolay yolu, docker-imajı üretmek için ilk görevi olan ve onu kap imajı olarak kullanan ikinci bir görev olan tek bir işin olması olabilir.

Sizin durumunuzda, docker görüntüsünü yapı görevinde oluşturacak ve görüntü dosya sistemini çıkışa koyabileceğiniz bir rootfs'a (my-task-image) vermek için docker export kullanın. Belirli bir şemayı, eşleşmesi gereken rootfs çıktısına aldırın. Sadece bir boş json nesnesini içerebilen rootfs/... (çıkarılmış 'docker export') ve metadata.json'a ihtiyacınız olacak. Komut dosyası-resim-kaynağı içindeki komut dosyasında şema ile eşleşmesi hakkında daha fazla bilgi için: https://github.com/concourse/docker-image-resource/blob/master/assets/in. Ardından müteakip görevde, aşağıdakiler gibi sizin boru hattı YML görüntü parametresini ekleyebilirsiniz:

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

görev inşa görüntüyü kullanmak için.

+0

Bunu yapmayı denedim ancak resmi başarılı bir şekilde oluşturmak için bir görev alamıyorum. Bildiğim kadarıyla görevleri docker'da çalıştırmak zorundayım, yani docker'da docker inşasını çalıştırmak zorunda kalacağım demektir. – Shawabawa

+0

çalışmayı başaramadım Bir [eğitici] (http: // engineering) kontrol etmek isteyebilirsiniz. pivotal.io/post/concourse-docker-image-resource-cache-tutorial/) biz görüntüyü iter 'liman işçisi-görüntü-resource' – materialdesigner

+4

Yine kullanarak yazdı. Ben bir docker konteyner oluşturmak ve kullanmak için * kullanmak istiyorum * – Shawabawa

İlgili konular