TeamCity触发Github对pull请求的评论

问题描述 投票:1回答:2

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

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

所需的流程是在该PR上写一个特殊注释,例如run_UI_test或用自定义标签标记PR,以便在CI上执行测试,反馈显示在Github上的PR上。

非常感谢你提前。

android git github continuous-integration teamcity
2个回答
1
投票

我不相信TeamCity对Github的评论有任何意识,因为评论本身并不直接存储在分支机构中。我的假设是你有一个类似于此的VCS Root:

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

可以通过GitHub“Issues API”访问pull请求的注释,但是,我认为这会给构建过程增加不必要的复杂性,并且会模糊构建的触发方式。

我的建议是遵循更传统的CI流程,并通过新的分支创建另一层“整合”。所以基本上你的流程看起来像这样:

  • master(合并拉取发布请求)
  • 集成(运行UI自动化测试)
  • 开发(运行基本单元测试和其他东西)

因此,基本上所有的开发都发生在开发或其他“功能”分支上。当所有基本测试都通过并且您准备“推广”时,您可以合并到集成分支中,然后触发UI测试。我还想指出,这个“集成”分支实际上可能只是“拉取请求”,实际上不需要静态分支,具体取决于您的开发流程设置方式。

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


0
投票

您可以通过设置单独的构建配置来实现类似的功能,该构建配置利用特定的VCS触发器来运行UI测试。此构建配置还具有不同的构建步骤,其中包括执行测试的命令。

例如:在触发器中,您可以使用+:comment=presubmit:**添加新的VCS触发器。这将查找包含“presubmit”的任何提交消息,并将触发您的UI测试套件运行。

我已经看到一些存储库使用https://danger.systems等工具来编写自定义规则,这些规则可以在Github注释中查找文本并根据注释触发交互。

© www.soinside.com 2019 - 2024. All rights reserved.