Comment puis-je empêcher les deux Jenkins projets/construit à partir de l'exécution en même temps?
J'ai deux Jenkins projets qui partagent une base de données. Ils ne doivent pas être exécutées simultanément. Strictement parlant, il n'y a pas de dépendance entre eux au-delà de la non simultanéité, mais pour le moment je gérer en partie cette contrainte en exécutant un "en aval" de l'autre. Cela fonctionne la plupart du temps, mais pas toujours. Si un changement de contrôle se produit alors que le deuxième est en cours d'exécution, la première démarre à nouveau, et ils vont être en cours d'exécution simultanément, et probablement les deux échouent lamentablement.
Ce qui est similaire, mais pas identique, à Comment prévenir certaines Jenkins emplois d'exécuter simultanément? La différence est que je n'ai pas de "nombre de threads" problème-je suis déjà seule course au plus un seul thread d'un projet donné, à tout moment, même dans le cas où les deux (différents-projet) se piétiner les uns les autres. Cela semble exclure tous les plusieurs suggestions dans ce thread.
- Les Verrous et Loquets plugin mentionné dans la réponse à la question que vous avez cité doit travailler ici.
- Serrures & Loquets fonctionne pour mon cas, mais c'est sur le "potentiel de dépréciation" de la liste. Si elle est obsolète, ressemble le plus récent Exclusion-Plugin va faire le travail pour moi (et manette des Gaz Simultanées construit pour les autres, comptées cas).
Vous devez vous connecter pour publier un commentaire.
La Serrures et Loquets plugin devrait résoudre votre problème. Créer un verrou et d'avoir à la fois des emplois utiliser la même serrure. Qui va empêcher que les tâches qui s'exécutent simultanément.
La Verrouillable Ressources Plugin. Simple et qui fonctionne bien pour moi en Mai 2016.
Installer le plugin.
Dans manage Jenkins > Configurer le Système aller à Verrouillable directeur des Ressources.
Sélectionnez Ajouter Verrouillable De Ressources.
Entrez des valeurs pour les champs: Nom et cliquez sur Enregistrer.
Avertissement: N'insérez pas d'espaces dans le Nom de domaine.
Dans Jenkins > job_name > Configuration > Général,
Sélectionnez la case à cocher: Cette version nécessite verrouillable ressources.
Saisissez le nom ou les noms de la valeur pour le champ: les Ressources.
Commencer une construction.
En vertu de construction #nombre sélectionnez Ressources Verrouillées.
Vous devriez voir quelque chose comme:Ce build a verrouillé les ressources suivantes: resource_name - resource_description.
Démarrer une version différente qui utilise la même ressource.
Vous verrez Construire File d'attente dans Jenkins statut/menu affichant le nom de la tâche.
Passez texte montre Commencé par, en Attente de ressources resources_list, en Attendant temps.
(également des ressources tags/les étiquettes peuvent être utilisées)
L'ajout de la capture d'écran de la page de Configuration de Travail comme il semble y avoir un problème pour certains utilisateurs, où "Cette version nécessite verrouillable ressources" n'est pas visible: ** lorsque la case n'est pas cochée, vous ne devriez voir "[_] Cette version nécessite verrouillable ressources"
This build requires lockable resources
option dans la page de configuration de travail.http://myjenkins:port/lockable-resources/
Mais en fait ce n'est pas votre problème, je pense. Désolé. Dans la page de configuration de travail, si elle n'est pas affichée, . . hummm, . . est-il un problème de chargement du plugin, je me demande, san tu vois quelque chose dans jenkins journal système à jenkins moment de l'initialisation ou lorsque vous cliquez dans l'emploi config ?EDIT: ci-Dessous l'information en vigueur le 04/10/2014
Exclusion plugin, https://wiki.jenkins-ci.org/display/JENKINS/Exclusion-Plugin Très utile si peu de générer l'utilisation de ces mêmes ressources - par exemple, une base de données de test. Tout ce que vous devez faire est de mettre à jour la configuration de tous les travaux à l'aide de cette ressource et, par conséquent, ils ne seront jamais exécutées en parallèle, mais attendre des autres.
Prises à partir de : http://www.kaczanowscy.pl/tomek/2012-07/jenkins-plugins-part-iii-towards-continuous-delivery
Ce plugin ne fonctionne bloc de deux ou plusieurs tâches s'exécutent en parallèle.
Pour tester, cela pour tâche1