栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

gitea和jenkins webhook

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

gitea和jenkins webhook

我已经成功使用相对较新的版本成功配置了Jenkins /Gitea组合(我都使用基于高山的官方Docker容器)。我以这个Gitea问题为指导。我没有在Jenkins中使用Gogs插件,仅在Gitea插件中使用了。我也不使用管道,仅使用经典的手动配置作业。

在Jenkins中:在工作设置页面上,将“源代码管理”选项设置为“ Git”,提供仓库的URL(http://gitea-
url.your.org/username/repo.git
),并在“轮询触发器”中提供”部分,检查“轮询SCM”选项,但未定义任何时间表。此设置基本上告诉Jenkins仅在通过Webhook请求时才轮询您的Gitea回购。

在Gitea中:在repo-> Settings->
Webhooks下,添加新的webhook,将URL设置为http://jenkins_url.your.org/gitea-
webhook/post,然后清除秘密(将其保留为空白)。

此时,单击“测试交付”按钮应产生成功的交付尝试(绿色复选标记)。

如果您的测试交付失败,请尝试查看是否可以发布到Jenkins webhook URL(http://jenkins_url.your.org/gitea-
webhook/post)。例如,使用Postman或使用curl:

curl -vvv -H "Content-Type: application/json" -H "X-Gitea-Event: push" -X POST http://jenkins.server.example.sk:8080/gitea-webhook/post -d "{}"

正确的响应应该只是普通的“已处理”字符串。如果还有其他问题,请在此处发布。

至于您关于 Jenkins如何知道要构建什么工作的 问题,我的理解是POST请求正文包含到仓库/分支的链接,并且Jenkins在内部查找此内容以查找引用此仓库的工作(您在上方的“作业设置”页面)。这个JenkinsWiki页面介绍了更多有关通用钩子的信息,此外,此答案还有其他链接,可能会更详细地解释幕后情况。

稍微 调试
一下,您可以从gitea存储库(或组织)设置中使用“最近的交付”(可单击整个发布请求以及响应!)[,如此答案所示](我在Jenkins上使用Gitea插件1.0.4,并且我对webhooks没问题。我没有安装Gog插件。

从Gitea UI(存储库->设置-> webhooks),我可以手动定义指示URL的webhook:https:// my-jenkins / gitea-webhook / post

詹金斯方面,我已经为Gitea配置了凭据。当Jenkins找到带有Jenkinsfile的项目(我使用管道)时,它将自动为存储库(Gitea端)配置webhook(如果不存在)。

Gitea将通过包含大量JSON格式信息的POST通知Jenkins。

Jenkins必须有权访问GIT存储库,因此您需要为其创建Git凭据。)。请记住,该gitea具有/etc/gitea/app.ini文件,其中指定了ssh域,gitea服务器域和http
url,并且您在jenkins中指定了gitea srvers。这些网址必须匹配才能正常工作!



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/388307.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号