2017-04-19 1 views
0

Nous avons un dépôt Git Bitbacket avec de nombreuses fourches. Je veux créer un travail qui permet d'exécuter du code à partir de l'une de ces fourches via un travail paramétré. Mon code utilisateur est: quelqu'un clique sur Construire avec les paramètres, sélectionne la branche et la branche de son référentiel, sélectionne les informations d'identification (ou ajoute un nouveau et sélectionne) puis démarre le travail. Jenkins devrait recevoir du code de sa fourchette avec ses identifiants. J'utilise Git plugin et Credential plugin. I moved repository url and branch to parameters. En outre, j'ai ajouté les informations d'identification nécessaires au plugin Credentials. Then I created Credentials parameter.Jenkins: comment transmettre les informations d'identification Git dans un travail paramétré?

Mais je ne peux pas faire en sorte que Git obtienne ces paramètres. J'ai toujours l'erreur "Authentication failed". Comment lier les informations d'identification sélectionnées au plugin Git? Ce que je devrais sélectionner dans le champ Credentials pour que Git obtienne ces creds des paramètres de travail? Ou je devrais faire autre chose?

Répondre

1

Je ne sais pas s'il est possible de paramétrer les informations d'identification Git. Même si vous pouvez le faire, cela pourrait exposer une pour la Git vulnérabilité de sécurité comptes si votre instance Jenkins n'est pas SSL protégé (utilise le protocole HTTPS plutôt que simple HTTP).

approche alternative:

Lorsque vous faites référence à plusieurs fourches, je suppose qu'ils sont juste un certain nombre de branches de fonction du principal maître qui finira par être fusionné avec le maître.

Je pense que vous pouvez également atteindre votre objectif avec un seul travail Jenkins configuré pour créer une branche dans un référentiel Git désigné. Vous devrez configurer le plugin Git avec un seul utilisateur, soit un membre de votre équipe, soit en créer un dédié, exclusivement pour les builds Jenkins. Ensuite, dans la configuration du plug-in, vous devez définir certaines des propriétés comme suit:

  • Référentiels -> Nom: origine
  • Référentiels -> Refspec: laissez le champ vide
  • Branches construire: * * (ces deux astérisques est une clé)

maintenant, toute poussée à une branche au sein de votre dépôt Git configuré sera repris par Jenkins à condition que vous avez configuré Web Hooks dans le référentiel pour la notification Jenkins.

L'avantage de cette approche est que le cycle de développement et de construction est entièrement automatisé. Vous pouvez également ajouter des notifications par courrier électronique automatisées.

Notez que cette réponse est basée sur la version 1.6xx de Jenkins.