Chciałbym używać GitLab CI z plikiem .gitlab-ci.yml do uruchamiania różnych etapów z oddzielnymi skryptami. W pierwszym etapie powstaje narzędzie, którego należy użyć w późniejszym etapie do wykonania testów. Zadeklarowałem wygenerowane narzędzie jako artefakt.
Jak mogę teraz wykonać to narzędzie w pracy na późniejszym etapie? Jaka jest poprawna ścieżka i jakie pliki będą się wokół niej znajdować?
Na przykład pierwszy etap tworzy artefakty / bin / TestTool / TestTool.exe i ten katalog zawiera inne wymagane pliki (biblioteki DLL i inne). Mój plik .gitlab-ci.yml wygląda następująco:
releasebuild:
script:
- chcp 65001
- build.cmd
stage: build
artifacts:
paths:
- artifacts/bin/TestTool/
systemtests:
script:
- chcp 65001
- WHAT TO WRITE HERE?
stage: test
Kompilacja i testy działają w systemie Windows, jeśli jest to istotne.
Note that artifacts from all previous stages are passed by default.
. Pytanie brzmi, kiedy należy używać zależności.Ponieważ artefakty ze wszystkich poprzednich etapów są przekazywane domyślnie, wystarczy zdefiniować etapy w odpowiedniej kolejności. Wypróbuj poniższy przykład, który może pomóc w zrozumieniu.
W przypadku przekazywania artefaktów między zadaniami na różnych etapach, możemy użyć zależności wraz z artefaktami, aby przekazać artefakty, zgodnie z opisem w dokumencie .
I jeszcze prostszy przykład:
źródło