git - 如何等待 Jenkins 作业进行多个 git commit 然后开始作业
问题描述
开发人员经常进行提交,因此每次提交后都会执行自动化测试作业(即使是较小的提交)。现在,由于我们的自动化测试工作需要大量时间,我们希望仅在开发人员至少添加少量提交时运行该工作。
这里的议程是确保我们的自动化工作在开发人员至少 3-4 次 git 提交上运行。
示例 现在发生了什么:开发人员在 GIT 存储库中提交了一些内容,Jenkins 作业将轮询任何提交,然后如果发现任何更改/提交,则启动作业。
示例我想要什么:开发人员在 GIT 存储库中提交某些内容,Jenkins 作业将轮询任何提交,现在如果 Jenkins 检测到任何更改,那么它应该在某个时间范围内等待第二次提交,假设 3 小时,如果 Jenkins 没有找到任何在 3 小时的时间范围内提交更多,它应该开始工作。但是如果 Jenkins 发现任何提交,那么它应该等待剩余时间或开始执行。
解决方案
一些想法:
- 您确实应该考虑修复自动化测试套件,或者弄清楚这些测试是否可以并行运行。
- 我喜欢 DanielBarbarian 每 3 小时轮询一次更改的想法。
- 您可以创建一些管道作业,在提交时克隆/获取 repo,然后
num_commits % 3 == 0
在运行测试之前验证是否或某些内容。 - 听起来您正在开发分支上进行测试 - 相反,创建一个“测试”分支或其他东西,开发人员可以将批量提交推送到该分支,并在该分支上进行测试。
推荐阅读
- android - Flutter 中如何请求和授予通知访问、设备管理和辅助功能权限?
- vba - 无法在工作表中的相关 asins 旁边嵌入图像
- android - Android Studio 以未分配的方法读取 dart 文件
- ios - 如何在 React Native 中启用自动备份到 iCloud?
- node.js - Does Twilio whatsApp Business API provides feature to schedule a message or media ? I couldn't find anything related to it in the docs
- powershell - PowerShell: Reading from Serial breaks and misses characters
- json - 来自数组的 JSON 打印无效的 json
- intellij-idea - IDEA(AndroidStudio)-Git->Show History: Chinese encoding error
- web-scraping - 502 - Web server received an invalid response while acting as a gateway or proxy server on Azure App Server
- sql - Flask - Modal - dropdown list - sql