Travis CI Step by Step
Travis CI介绍
Travis CI is a hosted, distributed continuous integration service used to build and test software projects hosted at GitHub.
Travis CI是一款提供托管与分布式持续集成(Continuous Integration)服务的CI工具,与GitHub高度集成,能够构建和测试托管在GitHub上的软件项目。
Travis CI主要为开源免费提供轻量级可定制化的持续持续集成环境和服务,而对于非开源项目,会按照相应的标准收取一定的费用。Travis CI不仅支持多种语言,而且支持在容器中运行Builds,与GitHub集成度很好,支持Pull Request等。一般通过简单配置.travis.yml
文件即可使用,也省去了自己搭建和维护CI服务器的繁琐工作,但它不支持pipeline,只能支持简单的构建。
Travis CI集成
Travis CI与GitHub集成只需要简单的几步即可,通过访问GitHub Integrations搜索Travis CI
选择进入子页面,可以看到对Travis CI的集成的基本介绍。
GitHub登录授权
Travis CI与GitHub集成需要登录GitHub帐号,一般有两种入口方式:
- 在Travis CI Integration页面中点击
Add to GitHub
->Authorize application
进行授权。 - 对于Public项目直接访问travis-ci.org并登录GitHub帐号授权,而Private项目应访问travis-ci.com。
另外,若需要管理Travis CI的权限(Revoke/Grant Access),可以在登录GitHub后点击头像下拉菜单中的Settings,选择左边导航栏中的OAuth applications,进入Travis CI
应用进行操作,对于未授权的Organization,通常需要手动点击Grant access
确认才能授权Travis CI访问。
激活GitHub仓库
Travis CI触发Build的原理是基于GitHub的Service Hook钩子实现,而需要Travis CI应用到自己的项目,需要在Travis CI的Profile (Yourname
->Accounts
)中选择对应的Repository并开启Hook,若没有看到项目列出,请点击Sync account
同步一下。
若需要设定某些配置项或设置环境变量,可以点击齿轮状的按钮进行设置页面,更多可参阅Travis CI Docs。
配置TRAVIS YML文件
Travis CI支持多种语言的项目,只需要在项目目录下新建文件.travis.yml
,加入几行配置即可,比如选择Java项目(Gradle+Java8),一个简单的示例配置如下:
也可以针对多个Java版本进行测试,保证项目的兼容性,只需要设置jdk即可:
再比如Javascript Node.js项目(NodeJs+Gulp+Bower+Redis)的简单示例配置如下:
另外,也支持Installing Dependencies, Setting up Databases, Deployments and Uploads以及Configuring Build Notifications等。更多配置项详情请参阅Getting Started。
触发Build构建
当所有配置完成后,下一次提交代码时就会触发Build,可以看到Build的一些详细信息,包括Build号,Commit号,Elapsed用时,Log日志等信息,如果成功就显示绿色,失败则显示红色。
除了查看Current当前的Build,也可以选择查看Branches分支状态或Build History历史记录等。
关联Build状态
为了显示指明项目与Travis CI的关系与状态,可以在项目README.md中关联Build状态图标,点击项目右边的状态图片,然后会弹出一个Status Image链接的页面,选择Markdown格式,然后复制链接到项目的README.md中即可。
Build状态标识的Markdown格式为:
The End
总体说来,对于公司或企业项目,更倾向于选择GoCD或Jenkins这样的产品,个人或社区开源项目建议采用Travis CI来快速实现持续集成服务。
References