Ich möchte ein Docker-Bild in meiner Pipeline erstellen und dann einen Job darin ausführen, ohne Schieben oder Ziehen des Bildes.Ist es möglich, ein Andockbild zu erstellen, ohne es zu drücken?
Ist das möglich?
Ich möchte ein Docker-Bild in meiner Pipeline erstellen und dann einen Job darin ausführen, ohne Schieben oder Ziehen des Bildes.Ist es möglich, ein Andockbild zu erstellen, ohne es zu drücken?
Ist das möglich?
Es ist von Entwurf, dass Sie keine Artefakte zwischen Jobs in einer Pipeline übergeben können, ohne eine externe Ressource zu verwenden, um sie zu speichern. Sie können jedoch zwischen Aufgaben in einem einzelnen Job wechseln. Außerdem geben Sie Bilder auf einer Aufgabenebene statt auf einer Jobebene an. Ergo, der einfachste Weg, um das zu tun, was Sie wollen, könnte ein einzelner Job sein, der eine erste Aufgabe hat, das Docker-Image zu erzeugen, und eine zweite Aufgabe, die ihn als Container-Image verwendet.
In Ihrem Fall würden Sie das Docker-Image in der Erstellungsaufgabe erstellen und docker export
verwenden, um das Dateisystem des Image zu einem rootfs zu exportieren, das Sie in die Ausgabe (my-task-image
) einfügen können. Beachten Sie das bestimmte Schema für die rootfs-Ausgabe, die es abgleichen muss. Sie benötigen rootfs/... (den extrahierten 'docker export') und metadata.json, die nur ein leeres json-Objekt enthalten können. Sie können sich das Skript in der docker-image-resource ansehen, um weitere Informationen zur Übereinstimmung mit dem Schema zu erhalten: https://github.com/concourse/docker-image-resource/blob/master/assets/in. Dann in der nachfolgenden Aufgabe, können Sie die Bildparameter in Ihrer Pipeline yml als solche hinzufügen:
- task: use-task-image
image: my-task-image
file: my-project/ci/tasks/my-task.yml
, um die integrierte Bild in der Aufgabe zu verwenden.
Ich habe versucht, dies zu tun, aber ich bekomme keine Aufgabe, um das Bild erfolgreich zu erstellen. Soweit ich weiß, müssen Aufgaben in Docker laufen, was bedeutet, dass es Docker Build innerhalb Docker ausführen muss, die ich nicht geschafft habe zu erarbeiten – Shawabawa
Sie möchten vielleicht ein [tutorial] (http: // engineering. pivellent.io/post/concourse-docker-image-resource-cache-tutorial/) wir schrieben auf die 'docker-image-resource'. – materialdesigner
Wieder das schiebt das Bild. Ich möchte in der Lage sein, einen Andock-Container zu erstellen und es zu verwenden * ohne * drängen – Shawabawa