Rozważamy użycie wtyczki Jenkins Pipeline do złożonego projektu składającego się z kilku dostaw, które muszą zostać zbudowane przy użyciu różnych narzędzi (na różnych komputerach) przed ich scaleniem. Mimo to wydaje się, że łatwo jest wykonać kompletną kompilację z pojedynczym Jenkinsfile
i lubię automatyczne wykrywanie gałęzi git dostarczanych z Pipeline.Uruchamiaj części potoku jako osobne zadanie
Jednak w tym momencie mamy zlecenia dla każdej dostawy i używamy "meta" pracy opartej na przepływie budowy w celu aranżacji poszczególnych zadań. Zaletą jest to, że umożliwia on również rozpoczęcie tylko jednego pojedynczego zadania, jeśli dokonano tylko niewielkich zmian, aby sprawdzić, czy ta dostawa nadal się kompiluje.
Aby to naśladować niektóre pomysły przyszedł do głowy:
- używać różnych
Jenkinsfile
s dla dostaw iload
je na najwyższym poziomieJenkinsfile
; wydaje się, że zadanie Pipeline Multibranch nie pozwala jeszcze na skonfigurowanie funkcjiJenkinsfile
(https://issues.jenkins-ci.org/browse/JENKINS-35415), więc tworzenie zadań dla poszczególnych dostaw jest nadal otwarte. - Podaj opcję konfiguracji dla zadania "najwyższego poziomu" i uzyskaj
if
s dla wszystkich dostaw wJenkinsfile
, aby móc wybrać, które elementy mają zostać zbudowane. W ten sposób można łączyć różne typy kompilacji w jednym potoku, a przynajmniej zepsuć oszacowanie czasu kompilacji.
Czy są to możliwe opcje, czy jest lepszy?
To pytanie jest bardzo podobne do http://stackoverflow.com/questions/38129745/jenkins-build-pipeline-restart-at-stage, chociaż dotyczy ono ponownego uruchomienia. Mimo to odpowiedzi na to pytanie również dotyczą tego pytania. – olenz