到目前为止,我已经阅读了几乎所有关于如何使用 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 Hooks
I 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
关于可能导致这种情况的任何想法?