我想用Travis在一个回购中测试两个项目 GIT-repository的目录目前如下所示:
根
|
- 服务器应用程序
|
- 客户申请
我的服务器应用程序是使用Playframework构建的,客户端应用程序是为Android构建的。在我的例子中,将两个项目放在一个git-repository中更有意义,但我仍然想分别测试服务器和Android应用程序(或者至少为两个项目运行测试)。
我在这里看到的主要问题是:
答案 0 :(得分:0)
我为解决这个问题所做的就是像往常一样拥有一个包含所有项目的master分支。但是我为每种构建类型创建分支。因此,例如,我有一个“ java”分支和一个“ android”分支。这些分支仅包含一个非常小的travis.yml,如以下Java分支:
language: java
install:
- git config remote.origin.fetch +refs/heads/*:refs/remotes/origin/*
- git fetch
- git checkout master
script: ./run_tests.sh java
现在,这基本上是将构建类型设置为“ java”。这意味着我已经安装了Java等。然后它将检出master分支(所有代码都存在于其中),并使用要构建的语言作为参数执行我的构建脚本“ ./run_tests.sh”。在这种情况下,Java。对于其他语言,我也有类似的分支。
这不是很漂亮,并且使流程自动化变得更加困难,但这是迄今为止我发现在Travis上构建具有不同技术堆栈的mono repo项目的唯一方法。