2010-04-19 60 views
31

我试图根据this article, 成立哈德森混帐,但生成过程中我仍然得到git的错误:哈德森+混帐致命:无法应用标签

FATAL: Could not apply tag-PROJECTNAME-ID 
... 
Caused by: hudson.plugins.git.GitException: Command returned status code 128: 
*** Please tell me who you are. 

运行:git config --global user.name了有效的数据,可以访问.gitconfig

如何纠正这些错误?

回答

26

如果可能同时需要user.nameuser.email
实际上有一个open ticket to set them automatically

它也可能是一个Hudson server issue

我有点糊涂看到这则消息,因为我已经配置GIT中有我的用户名和电子邮件。
然后我想起哈德森正在运行tomcat6用户的tomcat上运行。
我需要配置tomcat6用户具有必要的git配置标记在git存储库上。

设置做对的tomcat6用户git的配置如下:

sudo -s -H -u tomcat6 
git config --global user.name "Hudson" 
git config --global user.email "[email protected]" 
exit 

作为一个说明,如果您使用哈德森承诺,并推到另一个仓库这些配置设置将被使用对哈德森所做的所有承诺。

下一步是让哈德森知道HOME是为tomcat6用户。
Hudson/configure页面上,有一个用于定义环境变量的复选框。
一旦检查,您将能够放入一个键值对。添加以下对并保存配置:

name: HOME 
value: /usr/share/tomcat6/ 

下一次哈德逊项目建成,你应该会看到下面一行接近控制台输出的顶部:

Env: HOME=/usr/share/tomcat6/ 

git插件现在应该能够成功标记存储库并继续构建。


由于mentioned here,你可能有没有考虑一个特殊的tomcat6用户(没有登录允许的,没有外壳:我引用“的tomcat6はログイン不许可(シェルは/斌/假)ってなっている“),在这种情况下你需要设置用户。姓名和电子邮件的系统级)

git config - system user.email "kompiro @ ..." 
git config --system user.name " kompiro... " 

如果您使用的是哈德森的tomcat6用户,哈德森将需要看到的是用户在/ etc/passwd文件,as mentioned here

更具体地说,在/etc/passwd。出于某种原因,GIT需要在该字段中输入全名。在Ubuntu下,Tomcat用户默认放置在那里,没有任何东西(“Unter Ubuntu hat der Tomcat-User dortstandardmäßignichts gesetzt。”)。
现在只添加一个“Tomcat 6,,, a”,它也与CI邻居一起运行。
( “Fügt人检查现在多特EINFACH 'Tomcat 6,,,' EIN,läuftES奥赫MIT数字高程模型CI-Nachbarn”)

+1

另请参阅http://www.softwarebloat.com/2008/11/19/continuous-integration-blueprints-how-to-build-an-army-of - 杀手机器人与哈德森和黄瓜/ – VonC 2010-04-20 06:45:31

+0

感谢VonC的详细信息。在我的Ubuntu Hudson上运行hudson用户。我刚刚为哈德森用户配置了git名称和电子邮件,现在它可以正常工作。 – takeshin 2010-04-20 07:36:38

+1

但我不希望Git插件为每个构建(每15分钟左右!)添加标记到我的Git存储库。这是非常奇怪的标签自动默认.. – Alex 2012-01-06 08:51:47

33

安装git的插件,您可以在詹金斯配置git的姓名和电子邮件 “配置系统” 页面后。通过哈德森的网络接口选项的用户名和用户电子邮件:..

git options in jenkins

+2

git插件比阅读答案中的注释更快地解决了这个问题。 – 2012-12-12 05:06:02

2

在新哈德逊版本git的插件,你可以通过设置两者。

2

或者你只是可以禁用标记。在项目配置中,在源代码管理下进入高级。您可以选中“跳过内部标记”

+0

更新插件必须以某种方式添加这个插件,反正它之前没有。删除它后,像你说的,它再次工作。 – JugsteR 2013-11-12 10:52:10