Używam Jenkinsa 2 z wtyczką Pipeline. Skonfigurowałem projekt Multi-branch Pipeline, w którym każda gałąź (główna, programistyczna itp.) Ma plik Jenkinsfile w katalogu głównym. Konfiguracja była prosta. Brakuje mi jednak sposobu, aby każda gałąź była uruchamiana okresowo (nie indeksowanie gałęzi), nawet jeśli kod się nie zmienia. Co muszę umieścić w moim pliku Jenkins, aby umożliwić okresowe kompilacje?
jenkins
jenkins-pipeline
geowa4
źródło
źródło
Jeśli używasz deklaratywnego stylu Jenkinsfile, użyj dyrektywy triggers .
źródło
master
gałęzi? Aby dać trochę kontekstu: kiedy koledzy z zespołu tworzą nową gałąź funkcji i zatwierdzają ją, plik Jenkinsa powinien nadal być wyzwalany (przez ankietę lub wypychanie), ale nie chcę, aby wyzwalacz cron był uruchamiany na tych gałęziach funkcji.Udało mi się znaleźć przykład ilustrujący to, odrzucanie starych kompilacji, co również jest czymś, czego chciałem.
Jenkinsfile
w jenkins-infra / jenkins.io:źródło
buildDiscarder
symbolu, aby uprościć składnię, tak jak powinna pokazać składnia potoku .pipelineTriggers([[$class: "TimerTrigger", spec: "H 1 * * *"]])
To działa dla mnie:
Zobacz więcej w tym artykule
źródło
W przypadku okresowych uruchomień Paramertized lub zaplanowanych wyzwalaczy można użyć w następujący sposób.
źródło
Trafiłem na problemy z powyższymi rozwiązaniami.
Nie jestem kreatorem Jenkinsa, więc nie jestem pewien, czy używam starego formatu / składni, czy coś w tym stylu, ale działa dla mnie poniższe rozwiązanie.
Określono z: https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/hudson/triggers/TimerTrigger.java
źródło