持续集成教程 1 通识科普

栏目: 服务器 · 发布时间: 8年前

内容简介:持续集成教程 1 通识科普

本教程系列将以 Travis CI 为主,我也不知道以后会不会讲 AppVeyor ,我也不知道以后会不会讲 Circle CI 和 CodeShip 。 这篇文章你可以把它当成一个索引,我给出了使用 Travis 需要阅读的内容,读者可以根据自己的需求选择阅读文档的特定部分。

CI 能做啥

  • 能帮你在云端自动编译项目
  • 每次你推送代码就会触发编译
  • 可以保留编译生成的目标文件
  • 自动上传 release
  • 编译失败发邮件提醒你
  • 编译失败发 Slack 消息提醒你

等等功能(这些都是最基本的)

混开源社区的 friends 喜欢使用一些现有的 CI 服务,比如 Travis, AppVeyor, Circle CI, CodeShip 等, 公司企业喜欢自己写 CI 自己用,因为这本来就是个高度定制的东西,要是你能提供高度定制的环境(比如装好了依赖的服务器) 当然做 CI 就超级简单了。

但是我们是混开源社区的 friends ,所以没有这种操作,首选当然是 Travis CI 。

理由: Linux + 自动部署

getting started

我才懒得写, RTFM

流程大概就是先注册 Travis 账号,然后在仓库里面写个配置文件 .travis.yml ,然后在 Travis 网站上选这个项目, 然后就可以等 build 了。 Travis 提供了一个 build 的 badge ,可以放在 README 里面装逼(雾

可以让 Travis 自动测试,这样可以在别人发 pull request 的时候先通过 CI 的检验, CI 上编译测试通过了再 merge , 明显有安全感的多。

关于自动 release

这里推荐先搭建本地的 Travis 环境(就是 Ruby 环境 + gem install travis )然后让它自己配置。

这样不会泄露你的 GitHub Token 。教程见:

RTFM

注意

一定要记得加上

on:
    tags: true

否则你每次推送都会收到一个 release 。加上之后就只有在创建 release 的时候才会上传。

Travis CI 的缺点

  • 触发慢
  • 触发慢
  • 触发慢
  • 触发慢

每次 push algo4j 后都能感受到 Travis CI 满满的恶意, 一般得等个一分钟才能看到它开始编译。

不过它编译本身速度还是可以的,还有 CI 上下载各种源啊, clone 各种仓库啊也都是快到没朋友。

我部署了 Flutter 应用就是这样的,我先让 CI clone Flutter ,再编译 Flutter ,再下载 Android SDK ,再安装谷歌支持库, 再用 Flutter 编译我的项目,整个过程不到 4 分钟。

这个问题在 AppVeyor上得到了很好的解决, AppVeyor 非常非常快,但是它是 Windows 的,而且各种预装的依赖略有些迷醉。 我自己也在用,而且非常舒服,这里就先不说了。


以上所述就是小编给大家介绍的《持续集成教程 1 通识科普》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

写给大家看的Web设计书

写给大家看的Web设计书

Robin Williams、John Tollett / 苏金国、刘亮 / 人民邮电出版社 / 201005 / 69.00元

在这个网络时代,Web设计几乎已经成为每个人生活的必备技能。如果你想自力更生创建一个网站,或者认为自己的网站在设计上还不尽如人意,希望它看上去更具创意和专业性,那么本书正是为你准备的! 作者Robin和John先采用通俗易懂的方式将有关基础知识娓娓道来,比如Internet、搜索信息、构建简单网页等,然后为我们奉上了精妙的技巧、技术和设计示例来启发大家的设计灵感,比如Web基本设计原则、实现......一起来看看 《写给大家看的Web设计书》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试