wake-up-neo.com

build-Parameter in Jenkins Build-Zeitplan hinzufügen

Ich habe einen Job bei Jenkins. Ich möchte meinen Job in einer bestimmten Zeit mit einem Build-Parameter aufbauen.

Ich möchte dies mit der Build periodically-Option tun. 

Ich habe folgende Eingabe:

*/1 * * * * Parameter1

Wenn ich das tue, zeigen Jenkins einen Fehler.

Ist dies möglich ohne Verwendung eines Plugins .

wenn nicht, wird das Plugin besser sein 

Gibt es alternativ eine Möglichkeit, Parameter hier im Zeitplan anzugeben?

Meine tatsächliche Anforderung ist wie folgt:

 build in morning using one parameter
 build in evening using another parameter.    
14
Eric Ipsum

Grundsätzlich können Sie mit der Option "In regelmäßigen Abständen erstellen" keinen Jenkins-Job mit Parametern planen. 

Um jedoch einen Job zu unterschiedlichen Zeiten einzuplanen, in dem verschiedene Umgebungen verwendet werden müssen, müssen Sie das Plug-In für parametrisierte Scheduler wie oben erwähnt https://github.com/jwmach1/parameterized-scheduler verwenden oder darin suchen (Jenkins verwalten -> Plugins verwalten -> Parametrisierter Scheduler). Es wird also wie #Parameter1 H/15 * * * * %Parameter1 #Parameter2 H/30 * * * * %Parameter2 .__ sein. Denken Sie daran, dass Sie Ihre Parameter bereits eingerichtet haben, da das Plugin nur für Jobs mit Parametern sichtbar ist. 

Das Parameter-Plugin Node and Label kann hilfreich sein, da Sie hier einzelne Knoten auswählen können, vorausgesetzt, die Server qa1 und qa2 sind bereits konfiguriert. Hoffe das klärt die Dinge für dich. 

12
Claudio A

Mit dem einheimischen Jenkins Crontab ist das nicht möglich.

Es sollte jedoch mit diesem Plugin möglich sein: https://github.com/jwmach1/parameterized-scheduler

Sie müssen das Repo aufteilen und dieses Plugin erstellen + eine manuelle Installation durchführen.

Dieses Tutorial erklärt, wie Sie ein benutzerdefiniertes Plugin erstellen: https://wiki.jenkins-ci.org/display/JENKINS/Plugin+tutorial

(Umgebung einrichten + Plugin erstellen)

7
Bruno Lavit

Vielleicht nicht genau das, was Sie wollen, aber es ist ein interessanter Hack, den ich herausgefunden habe, und deshalb habe ich beschlossen, ihn zu teilen. Sie können die Parameter des Jenkins-Jobs abhängig von der Umgebung programmgesteuert einstellen.

# check if job was trigered by timer
if [ $(env | grep -E '^BUILD_CAUSE=TIMERTRIGGER$') ] ; then 
  # your logic here, utilise the power of bash   
  if [ $(date +"%H") -eq 16 ] ; then PARAM=VALUE_1 ; fi
  if [ $(date +"%H") -eq 17 ] ; then PARAM=VALUE_2 ; fi
fi
3

Ohne Plugins können Sie clonen des Jobs versuchen und einen Build-Zeitplan mit verschiedenen Parameterwerten erstellen. Das heißt Möglicherweise haben Sie job_morning und job_evening.

See Wie kann ich einen Job in Jenkins klonen?

0
congusbongus