Wie können die Parameter am besten zwischen Auftragsvorgängen und Aufträgen übergeben werden? Beispielsweise; Wenn meine erste Aufgabe eine eindeutige ID generiert, was wäre der beste Weg, diese ID an den nächsten Job oder die nächste Aufgabe zu übergeben?Übergeben von Parametern zwischen Auftragsaufträgen/Aufgaben
Antwort
Wenn Sie nur zwischen Aufgaben innerhalb desselben Jobs wechseln, können Sie Artefakte verwenden (http://concourse.ci/running-tasks.html#outputs) und wenn Sie zwischen Jobs wechseln, können Sie Ressourcen verwenden (z. B. in git oder s3). wenn Sie zwischen den Aufgaben Zum Beispiel sind vorbei, können Sie eine Aufgabendatei haben
---
platform: linux
image_resource: # ...
outputs:
- name: unique-id
run:
path: project-src/ci/fill-in-output.sh
Und das Skript fill-in-output.sh
die Datei setzen, die die eindeutige ID in Pfad enthält unique-id/
. Damit können Sie eine andere Aufgabe haben, die die eindeutige ID-Ausgabe als Eingabe verwendet (http://concourse.ci/running-tasks.html#inputs) und diese eindeutige ID-Datei verwendet.
Zusätzlich zu den Aufgaben legen die Ressourcen die Dateien automatisch in ihr Arbeitsverzeichnis.
Zum Beispiel habe ich eine Pipeline Job als
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
folgt
Nun die Details des Bildes Push von 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
Passing Daten innerhalb eines Jobs Aufgaben sehen einfach mit Eingabe getan werden könnte/Ausgabeartefakte (Dateien), wie Clara Fu bemerkte.
Für den Fall zwischen Jobs, wenn einfach, z.B. 'string' Daten müssen übergeben werden, und die Verwendung eines git ist ein Overkill, die 'keyval' Ressource [1] scheint eine gute Lösung zu sein. Die Readme beschreibt, dass die Daten als Standard-Eigenschaftendatei gespeichert und verwaltet werden.
- 1. Übergeben von Parametern zwischen Flink-Jobs
- 2. Übergeben von Parametern zwischen HTML-Seiten
- 3. Übergeben von Parametern ASP.Net
- 4. Übergeben von Parametern zum Speichern()
- 5. Übergeben von Parametern mit link_to
- 6. Übergeben von Parametern an psql.exe
- 7. QThreads mit Parametern übergeben
- 8. JSP - Übergabe von Parametern zwischen JSP-Seiten
- 9. Übergeben von Parametern in Javascript onClick-Ereignis
- 10. Übergeben von zusätzlichen Parametern an foldRight
- 11. Übergeben von URL-Parametern an Google Tabellen
- 12. Übergeben von mehreren Parametern an gespeicherte Prozedur
- 13. Übergeben von Parametern in fettfreie Routen
- 14. Übergeben von Parametern in die App-Komponente
- 15. Übergeben von Parametern in einem SAS-Makro
- 16. Übergeben von Parametern an die Selektor-Aktion
- 17. Übergeben von URL-Parametern zum Rendern
- 18. Wie Übergeben von Parametern in OnClick-Ereignisbindung?
- 19. Übergeben von Parametern mit Dropdown auf AngularJS
- 20. NUnit. Übergeben von Parametern in Teardown-Methode
- 21. Swift3: Übergeben von Parametern in NSFetchRequest-Methode
- 22. Interop mit Parametern von Ref übergeben
- 23. Übergeben von Parametern an Middleware in Laravel
- 24. Übergeben von URL-Parametern an iframe
- 25. Übergeben von XML-Parametern an benutzerdefinierte Ansichten
- 26. HMGET: Leeres Ergebnis beim Übergeben von Parametern
- 27. Übergeben von Parametern auf form_validation Codeigniter
- 28. Assembly - Übergeben von Parametern an einen Funktionsaufruf
- 29. JUnit Gabe von Parametern zwischen Klasse
- 30. Übergeben von Parametern von der SL-Berichterstellung an Reporting Services