Chciałbym użyć GitLab CI z plikiem .gitlab-ci.yml do uruchomienia różnych etapów z oddzielnymi skryptami. Pierwszy etap tworzy narzędzie, które musi być użyte na późniejszym etapie do wykonania testów. Zadeklarowałem wygenerowane narzędzie jako artefakt.GitLab: Jak mogę przekazywać artefakty na inny etap?
Jak mogę teraz wykonać to narzędzie w późniejszym etapie? Jaka jest prawidłowa ścieżka i jakie pliki będą wokół niej?
Na przykład pierwszy etap polega na tworzeniu artefaktów/bin/TestTool/TestTool.exe, a 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
Build a testy wykonywane w systemie Windows, jeśli jest to istotne.
próbowałem dodanie zależności zarówno pseudonim artystyczny (build) lub JobName (budować). dzieje się tak samo w twoim przykładzie. ale to nie zadziałało. Istnieje wiele dyskusji na temat korzystania z pamięci podręcznej/artefaktów, ale bez powodzenia. @ Peter – ravikanth
Wreszcie udało się! Kluczową kwestią są tu zależności i artefakty. Tylko artefakty, które zostały uwzględnione, będą dostępne do wykorzystania w kolejnym etapie. Nie trzeba dodawać, bądź konserwatywny w stosunku do tego, co jest przesyłane. Powiedziałbym, użyj expire_in. W przeciwnym razie możemy skończyć marnując dużo miejsca. Te artefakty są przesyłane do programu gitlab w zadaniu kompilacji/etapie/kroku i pobierane w teście. – ravikanth