git - 每当有新的提交发生时构建,Jenkins + github?
问题描述
我们有一个主分支,开发人员在该分支上创建功能/US-**** 分支,然后提交并将功能分支推送到 git。
一个主分支可以有多个特性分支。
现在这是我需要触发构建的地方。(在创建新功能分支和每次提交/推送时)。
我有一个设置,我正在轮询我的 SCMH/5 * * * *
并且我一直保留,
Branch Specifier (blank for 'any') = */feature/*
Refspec = +refs/heads/feature/*:refs/remotes/feature/*
但这仍然将日志打印为:
Seen branch in repository origin/master....
而我需要在功能分支创建和这些功能分支上的每次提交时触发构建。它也不应该拾取那些已经与主人合并的分支吗?
这种设置可以吗?
解决方案
是的,绝对有可能。我个人使用过的最好的设置是 git webhooks。您可以在 webhook 配置屏幕中指定从哪些事件触发事件:webhook example config
你需要 jenkins github 插件:https ://wiki.jenkins.io/display/JENKINS/GitHub+Plugin
然后,您只需将 github 指向您的 jenkins 实例作为 webhook 端点,并将您的作业上的触发器配置为由该钩子触发。示例:Jenkins gitook 配置
额外说明:如果您像我一样,并且在 aws 中有一个私有的 jenkins 实例,那么您将不得不对 lambda 和 api-gateway 做一些花哨的事情才能让 github 正确连接。我用这段代码来做到这一点:https ://github.com/pristineio/lambda-webhook
推荐阅读
- php - 服务“php”无效:spec.ports:必需值
- scala - 如何拥有一个“无处不在”,也可以将注释传递给 poly 函数
- java - 如何使用 Spring Webflux 和 Tomcat 调试已发布的连接?
- azure - 堆栈等级更改通知在 Azure Devops 中不起作用
- spring - 如何在客户端找到Eureka注册服务的IP
- angular - 尽管调用了 Http 服务,但数据未显示在 UI 上
- angular - 如何将顺序发出的数据转换为单个数组
- kotlin - 如何在 kotlin 中修复“[Dagger/MissingBinding]”?
- ruby-on-rails - rails 5 form_with 不处理也不允许嵌套属性
- firefox - Firefox 演示 API 支持