Ich mag Gitlab CI mit der .gitlab-ci.yml Datei verwenden, um verschiedene Stufen mit separaten Skripte auszuführen. Die erste Stufe erzeugt ein Werkzeug, das in einem späteren Stadium zur Durchführung von Tests verwendet werden muss. Ich habe das generierte Werkzeug als Artefakt deklariert.Gitlab: Wie kann ich Artefakte zu einer anderen Stufe passieren?
Nun, wie kann ich dieses Werkzeug in einem späteren Stadium Job ausführen? Was ist der richtige Pfad und welche Dateien gibt es in der Umgebung?
Zum Beispiel die erste Stufe baut Artefakte/bin/Testtool/TestTool.exe und das Verzeichnis enthält andere benötigte Dateien (DLLs und andere). Meine .gitlab-ci.yml Datei sieht wie folgt aus:
releasebuild:
script:
- chcp 65001
- build.cmd
stage: build
artifacts:
paths:
- artifacts/bin/TestTool/
systemtests:
script:
- chcp 65001
- WHAT TO WRITE HERE?
stage: test
Der Build und Tests unter Windows ausgeführt werden, wenn das relevant ist.
Ich habe versucht, Hinzufügen von Abhängigkeiten sowohl mit stagename (Build) oder Jobnamen (bauen). passiert in Ihrem Beispiel gleich. aber das hat nicht funktioniert. Es gibt eine Menge Diskussion über die Verwendung von Cache/Artefakten, aber noch kein Glück. @peter – ravikanth
Endlich hat es funktioniert! Der Schlüsselpunkt hier ist Abhängigkeiten sollten zusammen mit Artefakten verwendet werden. Nur die Artefakte, die enthalten waren, wären in der nachfolgenden Stufe für den Verbrauch verfügbar. Unnötig zu sagen, sei vorsichtig, was hochgeladen wird. Ich würde sagen expire_in verwenden. Sonst könnten wir am Ende viel Speicherplatz verschwenden. Diese Artefakte werden im Build Job/Schritt/Schritt nach Gitlab hochgeladen und im Test heruntergeladen. – ravikanth