本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
转载自夜明的孤行灯
本文链接地址: https://www.huangyunkun.com/2016/03/27/travis-ci-more-details/
Travis CI是一个很好的免费CI,和Github搭配也很合适,但是对于多Env的项目在具体的配置上有很多可以更细致处理的地方。
第一个是coverage的检测,默认情况下一句简单的命令可以让它工作
after_success: - ./gradlew cobertura coveralls
但是这种情况,所有的Env都会上传测试覆盖率数据,虽然coveralls等平台会自己处理,但是还是希望能够节约时间,只上传一份。
很多情况下我们都会配置每次代码更新就发布一个snapshot版本,对于多Env的情况,如果没有特殊处理,就会出现一次commit,发布多个版本的情况。
Travis CI中有很多环境变量,有默认的,有和当前构建有关的,也有用户自己定义的,可以依靠这些变量做出判断,决定是否执行相关操作。
比如在.travis.yml中添加
after_success: - .travis/coverage.sh - .travis/deploy.sh
然后对应的bash脚本中做判断
#!/bin/bash if [[ $TRAVIS_PULL_REQUEST == 'false' && $TRAVIS_REPO_SLUG == 'varFamily/cocos-ui-libgdx' && $GDX_VERSION == '1.9.2' && $TRAVIS_BRANCH == 'master' ]]; then echo 'Upload snapshot to maven central' ./gradlew uploadArchives fi
条件是可以自己定义,我这里写的是针对发布snapshot的。pull request不发布,只有在主项目的主分支的对应Env才发布。
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
转载自夜明的孤行灯
本文链接地址: https://www.huangyunkun.com/2016/03/27/travis-ci-more-details/