Travis-ci集成构建系统

travis-ci这款集成构建平台,他和github关系紧密,更关键的是,对于开源项目,永久免费使用,这让我在开发编译器的过程中,有了一款能够方便部署和测试的平台,获益匪浅.

Travis-ci都能做些什么

对于在github上托管的项目, 他可以根据你的配置, 在ubuntu虚拟机上为你构建项目, 运行测试, 打包发布等工作, 只需你每次提交代码或发pr, 对应的版本都能进过校验

工作流程

Travis-ci对于你的每一次提交及每一次pr,都会获取对应的版本,将内容clone到虚拟机中,构建该项目,一般执行的顺序为:

  1. install 安装步骤
  2. script 执行脚本构建和测试

然而又有许多可以插入的流程:

  1. before_install
  2. install
  3. before_script
  4. script
  5. after_success or after_failure
  6. (可选) before_deploy
  7. (可选) deploy
  8. (可选) after_deploy
  9. after_script

本质是一台Ubuntu虚拟机

由于是Ubuntu服务器,那么可以方便的安装Ubuntu源里面的内容,大部分开发库都可以自动安装

由于Ubuntu的版本问题,部分包不一致,默认为12.04版,为了使用对应的Ubuntu版本,可以在.travis.yml加入如下配置:

dist: trusty

这样可以指定Ubuntu为14.04的版本

然后需要安装什么开发包,都可以用带有sudo的指令直接操作:

install:
  - sudo apt-get update
  - sudo apt-get install -y llvm-3.6-dev libedit-dev flex bison

注意update是必须的,因为虚拟机的映像并不知道是什么时间安装的,很可能源里面的版本较老。
另外,所有可能需要用户确认的参数都需要加-y,否则脚本到那里肯定会被卡住,最终因超时异常退出

权限问题非常重要

一般在Windows下的开发者很少注意权限问题,但这在linux下十分重要,尤其是一些脚本和可执行文件,如果您的git仓库没有选择关联文件权限的话,那么默认clone的脚本和程序都是没有可执行权限的,那么怎么处理呢?

一种推荐的思路是添加一个权限处理脚本,然后用sh执行它,由于sh是系统程序,肯定能够执行,那么用其引导其他的脚本添加权限和进行调用就好。

具体语言的参考

travis-ci是根据语言来选择不同的构建配置的,这点有其优势但也有弊端,不过目前对于绝大部分项目都还是较为合适的,所以我们根据需要,选择对应的语言配置项即可,而且travis-ci支持的语言非常丰富,具体配置方法,请参考:

https://docs.travis-ci.com/user/customizing-the-build/#Specifying-Runtime-Versions

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值