Exécuter un travail paramétré à un moment donné à jenkins

j'ai un travail paramétré que je veux programmer pour fonctionner à un moment précis. Est-il de toute façon je peux choisir mes paramètres et de planifier l'exécution.

Merci d'avance

14
demandé sur Kishore Tamire 2013-05-29 13:51:31

5 réponses

Au moins deux moyens de gérer cela,

mais vous devez savoir que les valeurs souhaitées à l'avance:

  • définissez les valeurs par défaut du travail à ce dont vous avez besoin,

    ensuite planifier pour l'exécuter à chaque fois que vous le souhaitez.

  • au lieu de programmer le travail paramétré,

    créez un autre emploi qui déclenchera le

    travail paramétré tout en passant Le pertinent

    les valeurs de la paramètres

    (Cela vous permet également d'initier la cible-emploi

    avec différents ensembles de valeurs).

EDIT:

cette troisième méthode vous permettra de mettre à jour les valeurs des paramètres au besoin:

  • définir la tâche pour lire les valeurs des paramètres à partir d'un fichier de configuration

    (via EnvInject Plugin), puis mettre à jour le contenu du fichier

    avant l'exécution de la tâche.

Remarque: il sera de mauvaise pratique pour modifier ce fichier avant chaque course,

comme il y a de meilleures façons d'initier automatiquement Jenkins-travaux avec des paramètres.

21
répondu Gonen 2014-01-20 10:46:42

quand les déclencheurs de construction sont utilisés pour démarrer une construction, il n'y a aucun moyen de passer les paramètres. Puisque la tâche est paramétrée, la tâche de démarrage automatique s'exécute avec les paramètres par défaut.

si cela est suffisant, alors vous pouvez simplement définir le programme que vous voulez qu'il exécute via la section 'construire des déclencheurs' de la page de configuration de la tâche, vous choisirez alors la case à cocher 'construire périodiquement' et ajouterez les valeurs appropriées (en utilisant la syntaxe de cron). Laissons les paramètres par défaut prendre effet.

cependant, vous pouvez poster à jenkins comme un déclencheur, et passer les valeurs exactes que vous souhaitez. Vous devrez alors utiliser CRON directement pour cela avec un script shell probable, de sorte que vous pouvez définir les valeurs param.

Par exemple,

http://example.com/jenkins/job/this_job/buildWithParameters?PARAMETER=Value

4
répondu blotto 2013-05-29 20:02:25

Bâtiment sur Gonen réponse un peu, vous pouvez utiliser le Générer Des Flux De Plugin pour rendre cela un peu plus facile sur vous-même. Après l'installation, créez une nouvelle tâche et définissez le type à "Build Flow". Configurez cette tâche pour qu'elle s'exécute à l'heure désirée et programmée. Dans la section "Définir le flux de construction en utilisant le flux DSL" pour cette tâche, spécifiez la(Les) tâche (s) que vous voulez qu'elle construise:

build( "Job You Want Built", param1:"whatever", Param2:"whatever")

Vous pouvez spécifier plus de travaux à construire en ajoutant plus de lignes, ou répéter la même ligne et changer la paramètres pour construire la travail plus d'une fois avec différents paramètres.

Une fois que vous avez terminé, votre travail de flux de construction s'exécute à l'heure prévue et démarre les travaux désirés avec les paramètres spécifiés.

4
répondu Aaron 2014-04-30 18:16:06

le crontab de Jenkins permet de programmer un travail à un moment donné mais ne permet pas encore de passer des paramètres.

Toutefois, il est c'Jenkins demande de fonctionnalité pour l'étendre aux paramètres de passage. Une fois disponible, il vous laisser faire ce que vous voulez sans avoir à créer d'autres Jenkins emplois que d'autres réponses suggèrent.

vous pouvez voter pour que cette fonctionnalité soit incluse dans Jenkins plus tôt si cela peut vous aider.

4
répondu Chris R 2016-04-06 10:43:37

Vous pouvez utiliser le Paramètre Planificateur De Plugin

il vous permet de spécifier des paramètres après le programme cron, par exemple:

H(0-29)/10 * * * * % name=value; othername=othervalue

les paires de valeurs de nom après le % sont interprétées comme des paramètres.

3
répondu dralth 2016-02-11 18:00:19