Comment promouvoir une certaine numéro de build à partir d'un autre travail de Jenkins?
J'ai installé le Promoted Build Plugin
de Jenkins
et maintenant, je suis confronté à quelques problèmes de promouvoir un modèle à partir d'un travail existant. Voici le scénario:
-
Il existe une
Nightly Build
travail qui fonctionne tous les soirs l'exécution de tous les tests et les mesures nécessaires; -
Il existe une
Deploy Build
qui accepte un paramètre ${BUILD_NUMBER} et déploie la version qui a le même ${BUILD_NUMBER} à partir de laNightly Build
- Dire le [Nightly Build] a couru et construit avec succès l'artefact #39
- Maintenant, je peux juste lancer le [Déployer Construire] de passage dans #39 comme paramètre
- Les artefacts de [Nightly Build] #39 vont être déployés
So far So good. Maintenant est la partie où je veux ajouter la Build Promotions
...
Est-il un moyen de promouvoir la Nightly Build #39
(avis qu'il a déjà été construit avant) à partir de la Deploy Build
? Ou peut-être même d'ailleurs, très franchement, je suis un peu perdu ici 🙁
Je ne les vois pas clairement, en Amont et en Aval de la relation, parce qu'ils n'ont pas d': fonctionne toujours de cette construction, puis de l'autre pendant l'exécution - l' [Déployer Construire] est exécuté parfois seulement et pas toujours après l' [Nightly Build].
Vous devez vous connecter pour publier un commentaire.
Mise à jour de la version 2.23 de Paramétrées Déclencher Plugin:
Avec la version 2.23+ comportement a changé (merci AbhijeetKamble pour souligner). Tout paramètre qui est passé par de Paramètres Prédéfinis la section d'appel (construire) emploi existent dans de l'appelé (déployer) d'emploi. Par ailleurs, les restrictions d'appel d'emploi paramètres d'appliquer, si les appelle le travail du paramètre est un choix, il doit avoir toutes les valeurs possibles (de promotions) pré-remplis. Ou simplement l'utiliser Texte type de paramètre.
Solution
Oui, j'ai exactement la même configuration: un construire travail (basé sur les commits SVN) et signée à la main déployer travail. Lorsque l'utilisateur sélectionne tout construire à partir de la construire d'emploi (y compris les versions plus anciennes), ils peuvent ensuite passer à Statut de la Promotion lien et exécutez les divers déployer promotions, par exemple Déployer pour DEV, Déployer à l'assurance qualité, etc
Ici est de savoir comment le programme d'installation de la promotion construire emploi:
Code:
Ci-dessus, dans le de paramètres Prédéfinis l'article, le nom de la gauche de = sont les paramètres qui sont définis dans votre déployer travail. Et à droite de = sont les valeurs qui seront affectées à ces paramètres lors de cette promotion s'exécute. Définit trois paramètres
Server
,Job
etBuildSelection
.Le paramètre
Server=
est mon propre, comme mon travail de déploiement peut déployer à plusieurs serveurs. Toutefois, si votre déployer travail est fixée à déployer systématiquement à un emplacement spécifique, vous n'aurez pas besoin de cela.La
Job=
paramètre est obligatoire, mais le nom du param dépend de ce que vous avez dans votre travail de déploiement (je vais expliquer la configuration). La valeur$PROMOTED_JOB_NAME
doit rester comme il est. C'est une variable d'environnement qui les processus de promotion est au courant et désigne le nom de votre construire travail (celui où le processus de promotion est configuré)La
BuildSelection=
paramètre est requis. Toute cette ligne doit rester comme il est. La valeur transmise est$PROMOTED_NUMBER
, qui une fois de plus la promotion est conscient. Dans votre exemple, il serait#39
.La Bloc jusqu'à ce que le déclenchée projets de terminer leurs constructions coche pour faire la promotion de processus attendre jusqu'à ce que le déployer travail terminé. Si pas, le processus de promotion de déclencher le travail de déploiement et cesser de fumer avec succès. En attente pour le déployer emploi à la fin, qui a l'avantage que si le déployer travail échoue, la promotion de la star sera marquée par l'échec de trop.
(Une petite note ici: la promotion de la star apparaît succès tout la déployer travail est en cours d'exécution. Si il est de déployer l'échec, il ne changera à l'échec après la déployer travail terminé. Logique... mais peut être un peu déroutant si vous regardez à la promotion de la star avant le déploiement terminé)
Ici est de savoir comment le programme d'installation déployer travail
Server
(ce nom doit correspondre à la configuration de la promotion de la de Paramètres Prédéfinis dans la section précédente)Job
(ce nom doit correspondre à la configuration de la promotion de la de Paramètres Prédéfinis dans la section précédente)Ceci n'est nécessaire que si vous déclenchez le déployer travail manuellement. Lorsque le déployer travail est déclenchée à partir de la promotion, la promotion d'approvisionnement de la valeur(leJob=
de de paramètres Prédéfinis que nous avons configuré). Aussi, si aucune valeur n'est transmise à partir de la promotion de paramètres Prédéfinis, le premier choix de la valeur sera utilisée. Si vous avez un 1-de-1 relation entre le construire et déployer emplois, vous pouvez omettre leJob=
paramètre dans la promotion de la configuration.BuildSelection
${Job}
Specified by a build parameter
BuildSelection
(sans${...}
!)Maintenant, avec le ci-dessus déployer d'emploi, vous pouvez l'exécuter manuellement et de sélectionner le numéro de build de construire travail que vous souhaitez déployer (dernière génération, le dernier ayant réussi, par le numéro de build, etc). Vous avez probablement déjà configuré de façon très similaire. Le promotion sur le construire travail sera essentiellement exécuter la même chose, et de fournir le numéro de build, basé sur ce que la promotion a été exécuté.
Laissez-moi savoir si vous avez des problèmes avec les instructions.
Marqué réponse est la bonne explication de la question. Mais je voudrais vous suggérer une solution pour tous ceux à la recherche de "comment-pour-promouvoir-une-spécifique-construction-nombre-de-l'autre-emploi-dans-jenkins"
Nous pouvons l'utilisation généralisée de la solution pour faire à la force de promotion de l'utilisation de CURL et le RESTE de l'API. Vous pouvez exécuter la commande curl depuis l'interpréteur de commandes ou de scripts Groovy.
Shell Solution à l'aide de CURL:
Comment générer jenkins jeton d'utilisateur: https://jenkins.io/blog/2018/07/02/new-api-token-system/