【问题标题】:Setting up GitHub webhook with Jenkins on EC2在 EC2 上使用 Jenkins 设置 GitHub Webhook
【发布时间】:2013-06-07 18:24:18
【问题描述】:

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

在配置系统区域的 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 中,我添加了 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

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

【问题讨论】:

    标签: github amazon-ec2 jenkins jenkins-plugins webhooks


    【解决方案1】:

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

    【讨论】:

    • 感谢您的回复 - 我会尝试并告诉您进展如何。
    猜你喜欢
    • 2018-08-02
    • 1970-01-01
    • 2016-04-17
    • 2020-01-13
    • 1970-01-01
    • 2022-08-23
    • 1970-01-01
    • 1970-01-01
    • 2019-06-18
    相关资源
    最近更新 更多