Comment passer construire artéfact dans un autre emploi à Jenkins
Setup
j'ai deux emplois dans Jenkins:
build master
- cela génère le code et crée un artefactdeploy master
- cette déploie l'artefact
Actuellement deploy master
A "copier des artefacts d'un autre projet" construire étape en utilisant "Dernière construction réussie".
Mon But
je veux changer cette étape de "dernière génération réussie" "spécifié par un paramètre de construction" pour que je puisse sélectionner une construction spécifique lors du déploiement sans modifier la configuration de deploy master
travail à chaque fois.
Ce que j'ai essayé
tout d'abord, j'ai changé en "spécifié par un paramètre de construction".
puis j'ai coché la case à côté de "ce projet est paramétré" et j'ai ajouté un paramètre string pour BUILD_SELECTOR
.
puis j'ai sélectionné build et j'ai entré l'entrée 47
qui est un nombre de build à partir du build master
travail.
de plus j'ai essayé l'appel api
$.ajax({
type: 'POST',
url: 'https://jenkins/job/deploy%20master/build?token=abc7f5abc0c45abcea0646ed858abcde&BUILD_SELECTOR=47'
});
Résultat
les Deux fois, il a échoué avec le résultat suivant:
Started by user styfle
[EnvInject] - Loading node environment variables.
Building in workspace C:Jenkinsjobsdeploy masterworkspace
ERROR: Unable to find a build for artifact copy from: build master
Started calculate disk usage of build
Finished Calculation of disk usage of build in 0 seconds
Started calculate disk usage of workspace
Finished Calculation of disk usage of workspace in 0 seconds
Finished: FAILURE
Question
Comment puis-je configurer ceci correctement pour pouvoir spécifier un numéro de build (ou un autre identifiant) quand le déploiement?
mise à Jour avec la solution
ma solution grâce à la réponse de Gerold était d'ajouter un paramètre "Build selector for Copy Artifact" et d'utiliser une nouvelle variable d'environnement pour lier à mon paramètre string que j'ai déjà ajouté.
2 réponses
les répertoires racine des deux sont spécifiés dans Gérer Jenkins→Configurer Le Système→Avancé....
Pour déployer un artefact d'une version précédente, vous devez le copier à un autre endroit dans build master
et l'accès il y deploy master
tard.
mise à jour:
Voir l'aide en ligne pour construire→ Nom Du Paramètre:
un paramètre avec ce nom doit être ajouté dans la section Paramètres de construction ci-dessus. Il y a un type de paramètre spécial pour choisir le sélecteur de construction.
utilisez ceci créer un sélecteur pour Copier Artefact au lieu d'un Chaîne Le paramètre.
ajouter ce qui suit dans le projet en aval. "Construire sélecteur pour Copier Artefact" au lieu de "Paramètre de Chaîne"
copier des artefacts d'un autre projet
c'est tout. Cliquez sur "Construire avec les paramètres" et passez le numéro de construction