android - Github 对 pull 请求发表评论的 TeamCity 触发器

标签 android git github continuous-integration teamcity

我在 TeamCity 上有我的 CI。目前,它会触发不同事件的构建(Pull Request 创建、 merge 到 Develop 分支等)。但是,我想知道是否可以通过编写特定注释/标记 Pull Request 来触发特定构建。

目标是在Pull Request 已获批准(从编码正确性的角度来看)并且该分支已准备好执行时运行一组自动化 UI 测试 merge 到 Develop 中。我不想为该分支上的每个提交运行那组自动化 UI 测试,因为运行它们大约需要 1 小时,而且我不想仅在 merge 该 PR 后运行它,因此我们避免 merge 任何破坏 UI 的内容测试到 Develop

所需的流程将是对该 PR 编写特殊注释,例如 run_UI_test 或使用自定义标签标记 PR,以便在 CI 和反馈显示在 Github 上的 PR 上。

非常感谢您。

最佳答案

我不认为 TeamCity 知道 Github 上的评论,因为评论本身没有直接存储在分支中。我的假设是您有一个与此类似的 VCS Root:

+:refs/heads/master
+:refs/heads/develop
+:...
+:refs/pull/*/head

可以通过 GitHub“问题 API”访问 pull 请求的评论,但是,我认为这会给您的构建过程增加不必要的复杂性,并且会掩盖构建是如何被触发的。

我的建议是遵循更传统的 CI 流程,并通过新分支创建另一层“集成”。所以基本上你的流程应该是这样的:

  • ma​​ster( merge pull 请求以发布)
  • 集成(运行 UI 自动化测试)
  • 开发(运行基本的单元测试和其他东西)

所以基本上所有的开发都发生在 develop 或其他一些“功能”分支上。当所有基本测试都通过并且您准备好“升级”时,您可以 merge 到 integration 分支,这将触发您的 UI 测试。我还想指出,这个“集成”分支实际上可能只是“pull 请求”,实际上不需要静态分支,具体取决于您的开发流程设置。

在 TC 中设置触发规则和分支过滤器比编写一些自定义 REST API 脚本来使用 GitHub Issues API 要容易得多。

关于android - Github 对 pull 请求发表评论的 TeamCity 触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34416556/

相关文章:

git - 'git log --graph' 或 'hg graphlog' 是如何工作的?

javascript - Phonegap 插件未加载

android - UI Automator/Ui Automator2 : Scroll and find child UI Element in Recycler View

git - 如果我将代码下载为 zip,我可以连接 git

git - 如何将个人存储库正确添加到新创建的组织

git - 从整个 git 存储库中完全删除一个文件

java - Android ListView : Return one of multiple views from getChildAt()?

android - View 重叠,约束布局?

Android Studio 不将 Java 文件 checkin GitHub

git - 复合构建的存储库设置