我已经阅读了official doc,this和this这样的帖子。被引用的链接说明了如何并行运行测试,但没有解释如何仅构建和测试其中的一部分。我要寻找的是:如何将Travis CI设置为“部分”构建。如果我的应用程序包含5个部分,而开发人员仅在第3部分中提交代码,那么我只需要对该部分进行构建和测试,而在晚上晚些时候将进行完整构建。
因此,换句话说,我的问题是如何分别设置“部分”构建和“完整”构建并根据提交的代码或cron作业(每晚构建)执行它们?
我还想根据提交分别运行前端和后端构建。单元测试和集成测试也应在部分构建和每晚构建中分开进行。 App是Ruby,背面是Angular。
答案 0 :(得分:1)
要尝试实现的一个很好的起点是研究Travis CI的conditional jobs功能。
例如,如果构建是cron构建或push / pr构建,您将能够定义不同的命令来执行。
jobs:
include:
- name: partial
script: ./partial_tests.sh
if: type = push OR type = pull_request
- name: full
script: ./full_tests.sh
if: type = cron
请注意,目前尚不“本地”支持基于提交中修改的文件运行不同的命令,但可以“手动”实现,例如与git diff
。
希望这会有所帮助!