[英]Setting up GitHub webhook with Jenkins on EC2
到目前为止,我已经阅读了几乎所有有关如何使用GitHub设置Jenkins的指南,但是似乎没有一个可以解决我的问题。 目前,我的工作进展顺利,但我希望每次推送到GitHub时都能完成。 我还想手动设置挂钩URL(不要让Jenkins自动管理它们)。 当前,我的Jenkins服务器正在端口8080上的EC2上运行( http://ec2-XX-XXX-XXX-XXX.compute-1.amazonaws.com:8080/
)。 系统管理员说,服务器已设置为侦听该端口上的所有传入请求。
在“配置系统”区域的“ GitHub Web挂钩”区域下,我已选中“ 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日志中,它显示以下消息:
Last GitHub Push
Polling has not run yet.
我还创建了一个可以与GitHub连接的用户。 用户具有具有以下全局权限的角色:总体:读取作业:读取作业:发现作业:生成
在GitHub上的`` Settings > Service Hooks
https://USERNAME:PASSWORD@ec2-XX-XXX-XXX-XXX.compute-1.amazonaws.com:8080/github-webhook/
Settings > Service Hooks
我添加了https://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
关于什么可能导致此的任何想法?
如果这没有出现在Winstone的访问日志中,并且在没有SSL的情况下问题仍然存在,请尝试nc -l -p 8080
来查看从GitHub发送的实际请求是什么。 (或尝试使用其他servlet容器。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.