2

到目前为止,我已经阅读了几乎所有关于如何使用 GitHub 设置 Jenkins 的指南,但它们似乎都没有解决我的问题。我的工作目前构建良好,但我希望每次推送到 GitHub 时都能构建它。我还想手动设置我的钩子 URL(不要让 Jenkins 自动管理它们)。目前我的 Jenkins 服务器在 EC2 的 8080 端口(http://ec2-XX-XXX-XXX-XXX.compute-1.amazonaws.com:8080/)上运行。系统管理员说服务器设置为侦听该端口上的所有传入请求。

在Configure System区域的GitHub Web Hook区域下,我已经Manually manage hook URLs勾选了。

在我的项目配置中,我有以下设置:

GitHub Project: https://github.com/username/projectname/
Source Code Management > Git
    Repository URL: git@github.com:username/projectname.git
    Branches to Build - Branch Specifier (blank for default): master
Build Triggers > Build when a change is pushed to GitHub

在 GitHub Hook Log 中,它显示以下消息:

Last GitHub Push
Polling has not run yet.

我还创建了一个 GitHub 可以连接的用户。用户具有具有以下全局权限的角色: 总体:读取作业:读取作业:发现作业:构建

在 GitHub 上,在Settings > Service HooksI have addedhttps://USERNAME:PASSWORD@ec2-XX-XXX-XXX-XXX.compute-1.amazonaws.com:8080/github-webhook/中,USERNAME 和 PASSWORD 是 GitHub 帐户的用户名和密码。我添加了指向WebHook URLs区域和Jenkins (GitHub plugin)区域的链接。当我Test Hook在前一个区域下单击时,GitHub 页面上没有显示确认消息,但是当我Test Hook在后者下单击时,它显示 Payload Deployed。但是,两者都在我的系统日志文件中注册,并且它们都产生了类似的错误:

winstone.WinstoneException: Error URI Line: <Garbled Text Here>

at winstone.HttpListener.parseURILine(HttpListener.java:349)
at winstone.HttpListener.parseURI(HttpListener.java:258)
at winstone.RequestHandlerThread.run(RequestHandlerThread.java:83)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:679)
Jun 7, 2013 6:16:31 PM winstone.Logger logInternal
SEVERE: Error within request handler thread

关于可能导致这种情况的任何想法?

4

1 回答 1

1

如果这没有出现在 Winstone 的访问日志中,并且在没有 SSL 的情况下问题仍然存在,请尝试nc -l -p 8080查看从 GitHub 发送的实际请求是什么。(或尝试不同的 servlet 容器。)

于 2013-06-10T12:15:56.490 回答