1

我已经在 Ubuntu apt-get 上设置了一个 Jenkins CI(独立端口 8081)git,并且 gitblit 在 Tomcat 7 上运行。

在我的服务器上,Git 主页不再由 git 用户拥有,它由 tomcat7 拥有,我可以使用 gitblit 创建新的 Repos。

Ich 还可以推送和拉取提交。但我无法在提交后启动 Jenkins 构建。

在存储库的“钩子”目录中,我添加了一个名为 post-receive 的新文件。

#!/bin/bash
curl http://myserver.de:8081/job/mytestrepo/build?token=aasdfbabfabfibafhbhf

如果我在 shell 上运行 curl 命令,它就可以工作。但是如果 git 应该启动它,它就不会运行?我不知道我做错了什么。

4

2 回答 2

1

Gitblit 不支持执行原生钩子;它支持用 Groovy 编写的钩子。Gitblit 捆绑了一个 Jenkins Groovy 钩子,您可以使用它来触发您的构建。

https://github.com/gitblit/gitblit/blob/master/src/main/distrib/data/groovy/jenkins.groovy

于 2014-11-03T13:28:41.290 回答
0

如果您想确定 shell 脚本中的命令正确执行,您需要提供完整路径。在 bash 中,您可以使用“type curl”来询问这个问题。对于 OS X,脚本应为(未经测试)

#!/bin/bash
/usr/bin/curl http://myserver.de:8081/job/mytestrepo/build?token=aasdfbabfabfibafhbhf
于 2014-11-02T19:06:13.660 回答