2012-07-18 2 views
5

Je suis nouveau chez Jenkins. J'essaie de mettre en œuvre un scénario spécifique dans un seul travail pour construire des applications mobiles en utilisant Jenkins.Exécution séquentielle de tâches dans plusieurs environnements à l'aide de Jenkins

Dans un seul travail, je veux lancer plusieurs tâches séquentiellement: Tâche 1 (Windows) ---> Tâche 2 (Windows) ---> Tâche 3 (Windows) ---> Tâche 4 (Mac OSX)

Chaque travail sera dédié à un seul projet. La transmission des résultats d'une tâche à une autre peut être réalisée à travers l'espace de travail, mais il semble que les tâches doivent toutes s'exécuter dans le même environnement. Y at-il un plugin qui me permettra d'exécuter certaines tâches du travail dans un esclave particulier?

Merci à l'avance

Répondre

1
  1. Définir une tâche pour chaque tâche que vous avez mentionné. Avoir un esclave sur la (les) machine (s) distante (s) - vraisemblablement sur le Mac.

  2. Dans chaque travail, définissez l'hôte approprié qui l'exécutera (vous avez un paramètre pour cela). Utilisez le plug-in "trigger parameterized build" pour déclencher les tâches dans l'ordre correct et assurez-vous de transmettre les "paramètres de construction actuels" dans cette section.

  3. Ce plugin vous permettra de transmettre d'autres valeurs - lisez son aide pour plus de détails.

+0

Chaque tâche aura un travail dédié, comment puis-je gérer pour transmettre la sortie du travail à la suivante? En outre, il semble que la création d'un nouveau projet à Jenkins sera une tâche difficile. Je me trompe? – ridan

+0

Veuillez voir le point 4 dans ma réponse ci-dessus. La création d'un travail (a.k.a. Project) pour chaque étape est le moyen préféré - vous aide à identifier quelle action a échoué. – Gonen

4

Vous pouvez utiliser déclencheur à distance builds sur vos travaux d'esclaves. Ensuite, à partir du travail maître, vous pouvez exécuter des builds esclaves en utilisant curl. Comme ceci:

$(curl --user "username:password" "http://jenkins.yourdomain.org/job/JOB-name/buildWithParameters?SOMEPARAMETER=$SOMEPARAMETER&token=TheSecretToken") 

TheSecretToken est le mot de passe jeton que vous avez spécifié sur vos plugins esclaves. Et nom d'utilisateur: mot de passe est un utilisateur valide sur votre jenkins. N'utilisez pas votre propre compte ici, mais plutôt un compte 'build trigger' qui a seulement des permissions pour démarrer des jobs spécifiques.

Questions connexes