Jenkins + git: "dites-moi qui vous êtes" erreur, pourquoi est-il besoin de balise?

vient D'installer Jenkins dans Ubuntu 12.04 et je voulais créer une construction simple qui clone juste un projet et le construit.

il échoue parce qu'il ne peut pas marquer. Il ne peut pas étiqueter parce qu'il se trompe en disant " "dites-moi qui vous êtes " apparemment parce que je n'ai pas défini les paramètres Git nom D'Utilisateur et UserEmail.

mais, je ne devrais pas avoir besoin de les définir, Jenkins va juste cloner le dépôt, pourquoi a-t-il besoin des références si ça ne va pas pousser les changements, pourquoi est-il nécessaire de faire un tag?

Plein journal d'erreur est:

Started by user anonymous
Checkout:workspace / /var/lib/jenkins/jobs/Foo.Bar.Baz/workspace - hudson.remoting.LocalChannel@38e609c9
Using strategy: Default
Cloning the remote Git repository
Cloning repository origin
Fetching upstream changes from git@mygithost.mydomain.local:foo-bar-baz/foo-bar-baz.git
Seen branch in repository origin/1.0
Seen branch in repository origin/1.5.4
Seen branch in repository origin/HEAD
Seen branch in repository origin/master
Commencing build of Revision 479d37776b46283a946dd395c1ea78f18c0b97c7 (origin/1.0)
Checking out Revision 479d37776b46283a946dd395c1ea78f18c0b97c7 (origin/1.0)
FATAL: Could not apply tag jenkins-Foo.Bar.Baz-2
hudson.plugins.git.GitException: Could not apply tag jenkins-Foo.Bar.Baz-2
at hudson.plugins.git.GitAPI.tag(GitAPI.java:737)
at hudson.plugins.git.GitSCM.invoke(GitSCM.java:1320)
at hudson.plugins.git.GitSCM.invoke(GitSCM.java:1268)
at hudson.FilePath.act(FilePath.java:758)
at hudson.FilePath.act(FilePath.java:740)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1268)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1193)
at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:565)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:453)
at hudson.model.Run.run(Run.java:1376)
at hudson.matrix.MatrixBuild.run(MatrixBuild.java:220)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:175)
at hudson.model.OneOffExecutor.run(OneOffExecutor.java:66)
Caused by: hudson.plugins.git.GitException: Command "git tag -a -f -m Jenkins Build #2 jenkins-Foo.Bar.Baz-2" returned status code 128:
stdout: 
stderr: 
*** Please tell me who you are.

    Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: empty ident  <jenkins@somehostname.(none)> not allowed

    at hudson.plugins.git.GitAPI.launchCommandIn(GitAPI.java:786)
    at hudson.plugins.git.GitAPI.launchCommand(GitAPI.java:748)
    at hudson.plugins.git.GitAPI.launchCommand(GitAPI.java:758)
    at hudson.plugins.git.GitAPI.tag(GitAPI.java:735)
    ... 13 more
33
demandé sur knocte 2012-06-20 19:27:21

4 réponses

l'idée d'étiqueter lors de la traction / Clonage d'un repo est commune à la plupart des programmeurs construire là-bas:

Hudson-Jenkins, mais aussi CruiseControl (l'étiquette de construction déterminée par le labelincrementer ), ou RTC Jazz Build Engine (où ils sont appelés" snapshots") .

l'idée est de mettre un enregistrement persistant du input à un build.

De cette façon, le code à tirer, même si ce n'était pas balisé, est marqué automatiquement pour vous par le planificateur de construire, afin d'être en mesure de revenir à construire plus tard.

si cette politique (toujours étiqueter avant une construction) est définie, Jenkins aura besoin de savoir qui vous êtes afin de faire une étiquette git (c'est un objet git avec un auteur qui y est attaché: user.name et user.email ).

Cependant, comme mentionné dans " Pourquoi hudson/jenkins essaie de faire engager? ":

Vérifications " Skip internal tag "configuration sous" Advanced... "dans la section" Source code management ".

qui devrait éviter cette étape supplémentaire de marquage dont vous ne semblez pas avoir besoin.

enter image description here

37
répondu VonC 2017-05-23 11:47:02

quant à la façon de définir user.et de courriel de l'utilisateur.nom, Dans jenkins, allez à "gérer Jenkins" > " configurer le système" et faites défiler jusqu'à "plugin Git" et vous y trouverez Git plugin screen shot

entrez votre adresse e-mail et votre nom, vous pouvez y aller.

17
répondu iecanfly 2013-07-31 03:20:56

vous pouvez aussi SSH dans Jenkins et naviguer dans le répertoire workspace, et ensuite vous pouvez juste lancer l'utilisateur de configuration git.nom et utilisateur.e-mail commandes normalement.

1
répondu Kvass 2013-06-07 13:52:04

j'ai utilisé la solution ci-dessus par iecanfly . L'utilisation de mon nom d'utilisateur git et mot de passe n'a pas fonctionné , je entrée

nom d'utilisateur: jenkins

email: jenkins@localhost

qui a réglé le problème.

1
répondu diptia 2014-05-23 10:43:29