Ich benutze GitLab CI, um eine C# -Lösung zu erstellen und versuche, einige Buildartefakte von einer Buildstufe zur nächsten zu übertragen.Wie Sie Unterordner für Platzhalterartefakte in .gitlab-ci.yml angeben?
Das Problem ist, dass die Artefakte nicht in einem einzigen Verzeichnis, sondern in verschiedenen Unterverzeichnissen liegen, die jedoch alle die gleichen Namen haben bin/
oder obj/
.
Mein .gitlab-ci.yml
sieht wie folgt aus:
...
stages:
- build
- test
build:
stage: build
script:
CALL %MSBuild% ...
artifacts:
paths:
- /**/bin/
- /**/obj/
expire_in: 6 hrs
test:
stage: test
dependencies:
- build
...
Ich habe versucht, die Artefakte mit unterschiedlicher Weise zu erfassen, z.B.
**/bin/
**/obj/
(ungültige Syntax) oder
.*/bin/
.*/obj/
aber, dass man keine Artefakte gefunden haben, ebenso wie /**/bin/
und /**/obj/
, mir geben folgende Fehler:
Uploading artifacts...
WARNING: /**/bin/: no matching files
WARNING: /**/obj/: no matching files
Wie kann Ich spezifiziere ein Unterverzeichnismuster, das nach Artefakten durchsucht werden soll? Oder ist das überhaupt möglich?
einfach
artifacts:
untracked: true
verwendet, ist keine Option, weil ein riesigen untracked packages/
Unterverzeichnis, das wegen eines zu großen Archiv Artefakte laden scheitern Ursachen:
Uploading artifacts...
untracked: found 4513 files
ERROR: Uploading artifacts to coordinator... too large archive id=36 responseStatus=413 Request Entity Too Large token=...
FATAL: Too large
ich um den Weg kein Glück mit den doppelten Anführungszeichen hatte. Es funktionierte ohne sie. Auch die [doc] (https://docs.gitlab.com/ce/ci/yaml/README.html#artifacts) erwähnt nur Beispiele ohne Anführungszeichen. – TmTron
Ich habe festgestellt, dass die Anführungszeichen notwendig sind. – griest
Seltsam, dass Zitate wichtig sind. Aber soweit ich weiß, ist das Zitieren Teil der YAML-Syntax, also bezweifle ich, dass der Läufer es mit den Zitaten sieht. Ich frage mich, warum für eine Person Zitate gebraucht wurden und für eine andere keine Anführungszeichen. – nafg