首页 > 解决方案 > 让 Travis 构建一个分支,将分支作为子模块推送到该分支并运行脚本

问题描述

我们有一个 repo(我称之为 $Main),我们用另一个 repo ($Sub) 作为子模块构建它。我们目前使用 Travis 进行自动化测试,尽管如果有合适的框架,我很乐意使用不同的框架。

我想要自动基准测试,这样当提交被推送到 $Sub 中的主分支时,自动构建 $Main 的主分支,将 $Sub 的主分支作为子模块,并运行基准测试脚本(bash 或 Python )。

此脚本可能需要一些时间才能完成(约 1 小时,也许更多),所以我不希望构建通过,但我确实希望它生成一个带有结果的 .csv 并能够访问这个。

我怎么能这样做呢?我已经查看了 git-hooks 和 Travis 的构建矩阵,但我不知道如何进行。

标签: gittravis-ci

解决方案


我不相信有一种方法可以触发 Travis 构建与您推送的存储库不同的存储库。您可以通过推送到超级项目而不是子项目来触发构建。

您可以尝试使用我们的Travis CI API来触发构建。为了自动执行此操作,您还需要在 Github 上为子项目存储库提供一个推送网络挂钩,以便当您推送到子项目时,Github 会触发钩子,而钩子会触发超级项目的构建。


推荐阅读