获取Travis CI构建URL的正确方式及平台版本区分方法
正确获取Travis CI构建URL的方法
刚好对Travis CI的环境变量和URL结构比较熟悉,来给你梳理下解决方案:
1. 最省心的方式:直接用官方提供的完整URL变量
Travis CI其实已经内置了一个环境变量TRAVIS_BUILD_WEB_URL,它会直接返回当前构建的完整页面URL——不管你的项目是在.org还是.com版本上,这个变量都能给出准确的地址,完全不用自己手动拼接,这是最稳妥的方案。
2. .org与.com版本的重定向问题
需要明确的是:.org的构建URL不会自动重定向到.com。如果你的项目还托管在旧版的travis-ci.org上,对应的构建URL可以正常访问;但如果项目已经迁移到travis-ci.com,原来的.org链接要么失效,要么只会跳转到项目主页,无法直接打开具体的构建页面。
3. 手动拼接URL?用环境变量区分平台版本
如果你一定要用TRAVIS_BUILD_ID和TRAVIS_REPO_SLUG来拼接URL,可以通过Travis提供的环境变量来区分平台:
TRAVIS_HOST:这个变量会直接返回当前构建所在的域名,比如旧版是travis-ci.org,新版是travis-ci.com- 另外,
TRAVIS_API_URL也能间接判断(.org的API地址是https://api.travis-ci.org/,.com的是https://api.travis-ci.com/)
用TRAVIS_HOST动态拼接URL的示例代码如下:
https://$TRAVIS_HOST/$TRAVIS_REPO_SLUG/builds/$TRAVIS_BUILD_ID
这样拼接出来的URL就不会出现域名错误的问题了。
内容的提问来源于stack exchange,提问作者chingis
相关产品推荐
相关产品推荐

