Witam
Czy jest w Gitlabie możliwość lokowania całego pileline w taki sposób by runner wykonał wszystkie kroki z danego pipeline i dopiero zabrał się za kolejny. Potrzebuję to ponieważ mam rozbite kroki stawiania środowiska testowego, sam krok testów i krok zwijania środowiska testowego. Dochodzi do sytuacji gdzie włącza się kro stawiania środowiska w pipeline pierwszym potem w drugim krok zwijania środowiska a potem z pierwszego uruchamiają się testy. Dochodzi wtedy do sytuacji gdzie testy próbują się uruchomiś na nieistniejącym środowisku.

- Rejestracja:ponad 9 lat
- Ostatnio:2 miesiące
- Postów:81
- Rejestracja:prawie 12 lat
- Ostatnio:33 minuty
- Postów:1129
Można, w dokumentacji są też przykłady https://docs.gitlab.com/ee/ci/yaml/index.html#triggerstrategy

- Rejestracja:ponad 9 lat
- Ostatnio:2 miesiące
- Postów:81
Ponieważ to jest jedna odnoga tego pipeline. Mam kilka środowisk i tylko na środowisko dev chcę stawiać w reszcie środowisk nie potrzebuję tego a testy są parametryzowane i mogą uderzać do wielu środowisk.

- Rejestracja:prawie 15 lat
- Ostatnio:około 2 godziny
- Lokalizacja:Laska, z Polski
- Postów:10056
Masteratom napisał(a):
Ponieważ to jest jedna odnoga tego pipeline. Mam kilka środowisk i tylko na środowisko dev chcę stawiać w reszcie środowisk nie potrzebuję tego a testy są parametryzowane i mogą uderzać do wielu środowisk.
Typowy X/Y. Chciałeś skipnąć stage stawiania i składania, dla niektórych środowisko (co trzeba było zrobić conditional stage'ami), wpadłeś na pomysł że rozbijesz to na osobne pipe-line'y (co było złym pomysłem), znlalazłeś z tym problem, i teraz pytasz o Twoje potencjalne rozwiązanie, zamiast faktyczny problem.
To co mówił @KamilAdam jest poprawne - nie powinieneś tego rozbijać na osobne pipeline'y - powinieneś mieć jeden.
Jeśli nie chcesz uruchamiać jakiegoś stage'a dla danego środowiska, to GitLab ma coś takiego jak except
i only
, można tego użyć zeby ominąć jakiś stage, tutaj jest przykład: https://stackoverflow.com/questions/39988497/how-can-you-execute-gitlab-stages-conditionally
Polecam też google "gitlab conditional job stage".
- Rejestracja:prawie 10 lat
- Ostatnio:około 2 godziny
- Postów:2368
-
Zgodnie z CI/CD
"only and except are not being actively developed. rules is the preferred keyword to control when to add jobs to pipelines."
, więcrules
są na topie. -
Nie rozumiem co to znaczy kilka "pipelineów". Możesz doprecyzować? Na każdym branchu masz osobnego
.gitlab-ci.yml
? Bo jeśli nie to raczej masz jeden pipeline, w ramach którego, pewne rzeczy wykonywane są sekwencyjnie (stages), a inne mogą być wykonywane równolegle w ramach stage'a (jeśli są runnery), a jeszcze inne warunkowo (np. w oparciu o taga)
Może po prostu potrzebujesz zadeklarować dependencies
w jobach tego samego stage
, tak, żeby "jobA" wykonał się przed "jobB"?