Travis CI更细致的配置

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载自夜明的孤行灯

本文链接地址: 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/

发表评论