我们常看到许多团队和开发者分享他们的持续集成实践经验,本期 fir.im Weekly 收集了 iOS,Android,PHP ,NodeJS 等项目搭建持续集成的实践,以及一些国内外公司的内部持续集成系统的经验,供大家集中研究,参考借鉴。

先来看看国内外一些公司的实践经验:

Continuous Deployment at Instagram

Instagram 的开发团队每天保持着 30 - 50 次后端代码部署,几乎全程无人参与,完全自动化。这听起来很疯狂,但一切确实在这样运转。来这里看看 Instagram 的工程师 Twitter@mgorven 如何进行持续集成与持续部署。

Etsy’s Journey to Continuous Integration for Mobile Apps

Etsy的工程师 Nassim Kammah 在 2014 欧洲 Velocity 大会上分享了 Etsy 实现 iOS 应用持续集成的经验。

中文翻译版:Etsy如何实现移动应用的持续集成

英文原文:Etsy’s Journey to Continuous Integration for Mobile Apps

豆瓣移动 App 持续集成和测试实践

来自豆瓣测试工程师杨蓉的分享。

主要介绍了豆瓣移动 App 持续集成和测试相关实践,用工具化+自动化+社会化测试来解决遇到的问题,将打包发布环节自动化。分享内容见这里

沪江无线持续集成的解决方案

沪江无线有多款无线应用,面临很多质量问题,比如线上奔溃率高,开发提测质量差,测试回归耗费时间长等问题。为此,沪江网测试团队搭建了一套持续集成的质量保障体系。

主要通过 Jenkins 新建一个 job 去拉取 Gitlab 中的源代码进行编译打包,然后启动 apk 扫描、自动化和专项测试,最后呈现测试结果。详细见链接:传送门.


『 iOS 持续集成实践 』

Jenkins+GitHub+Xcode+fir搭了一个持续集成环境

@宣X_x用 Jenkins + GitHub + Xcode + fir 搭了一个持续集成环境,并慷慨分享了整个过程,非常详细。

文章传送门

iOS 搭建 CI 持续集成环境

@大慈大悲大熊猫写的这篇文章总结了自己在 iOS 下的自动化打包,搭建可持续集成环境的实践过程,选择方案是 Jenkins+ Gitlab/Github+Xcode+Fir。

全文浏览,点击这里.

iOS 项目的持续集成与管理

Matt Oakes@Medium这篇文章Jenkins 基础配置、单元测试、Pull Request测试、代码覆盖率、静态分析等等角度记录持续集成的搭建过程,最后通过fastlane进行自动部署,将整个 app store 的提交过程完全自动化。

原文链接 : Continuous Integration & Deployment for iOS Projects

原文作者 : Matt Oakes

译文出自 : 开发技术前线 www.devtf.cn

译者 : Sam Lau


『 Android 持续集成实践 』

基于 Travis CI 搭建 Android 持续集成以及自动打包发布流程

感谢@Allo的分享。

基于 Travis CI + fir.im CLI 搭建 Android 自动打包发布工作流,是非常棒的持续集成实践示范!Android 开发者想实现自动化发布,简化工作流程,可以来看看这篇文章.

Jenkin + Git + Gradle 为 Android 项目搭建 CI 环境

简书作者cyning在这篇实践文章中说道:
"上家公司用着很前卫的技术:Android Studio 、Gradle 、Git 、Material 等,也搭建了一个 Jenkins 的 CI 环境,每次只需要提交代码,CI 会从 GitLab 上拉最新的代码,自动打包,同时推到我们内部的下载/发布页面上。而我们内部的员工在下载页面上下载最新的安转文件,用起来很爽啊。"详细过程可以看这里

使用 DaoCloud 与 FIR.im 为 CodingAndroid 项目开启持续集成的尝试

@痕迹BLANK 把持续集成环境搭建在 DaoCloud 上,通过几步就可以实现 CodingAndroid 项目自动提交,自动编译发布测试包到 fir.im.这是一套很新鲜的玩法,感兴趣地可以尝试一下,文章地址☞http://www.jianshu.com/p/a6ebb0e0c5ae .

基于 Travis CI 搭建 Android 持续集成以及自动打包发布流程

简书作者Archmage分享了自己使用 Travic CI + Github + firCLI 搭建持续集成的经验:
“Tag 提交后,Travis CI 会自动编译代码,生成 apk 文件,并发到 Github 和相应地其他渠道,分发完成后,会邮件通知参与测试的人员。如此一来,作为码农,只要安心 Coding 和打 Tag 就好了,轻松愉快啊。”

全部流程一气呵成,值得借鉴。
文章传送门.


『 NodeJS 、PHP持续集成实践 』

Jenkins + Github + Node.js 实现持续集成 - 魅族科技开发团队

魅族科技开发团队工程师@吴彦欣分享到:

“由于最近团队代码库从 coding 迁移到 github,在 CI 工具的选型上尝试了 travis-cicircle-ci, 最后决定用 Jenkins 自己搭建CI服务器。”

全文浏览,点击这里.

PHP 开源项目使用 Travis CI 进行持续集成

@Allo写道:
“目前使用最广泛的免费 CI 工具当数Travis CI,以我的项目 EvaThumber 为例,介绍一下如何在PHP开源项目中配合Travis CI进行持续集成

作为世界上最好的语言 PHP,如何与 Travis CI 进行持续集成:D

在已有项目上构建持续集成平台

简书作者慕斯成总结了几个开源持续集成工具构建持续集成的经验,分为java篇ios篇android篇,适合项目中涉及ios、android、java三种环境,来这里学习一下。


这期的 fir.im Weekly 持续集成实践分享就到这里。如果你也有一些关于持续集成的经验和看法,欢迎投稿给 dm[at]fir.im, 投稿有机会获得 fir.im 的限量鼠标垫和复古木质小飞机:)

fir.im

fir.im weekly - 「 持续集成 」实践教程合集的更多相关文章

  1. 基于 Node.js 的轻量「持续集成」工具 CIZE

    CIZE 是什么? CIZE 是一个「持续集成」工具,希望能让开发人员更快捷的搭建一个完整.可靠.便捷的 CI 服务. 甚至可以像 Gulp 或 Grunt 一样,仅仅通过一个 cizefile.js ...

  2. 「持续集成实践系列 」Jenkins 2.x 构建CI自动化流水线常见技巧

    在上一篇文章中,我们介绍了Jenkins 2.x实现流水线的两种语法,以及在实际工作中该如何选择脚本式语法或声明式语法.原文可查阅:「持续集成实践系列」Jenkins 2.x 搭建CI需要掌握的硬核要 ...

  3. fir.im 持续集成技术实践

    互联网时代,人人都在追求产品的快速响应.快速迭代和快速验证.不论是创业团队还是大中型企业,都在探索属于自己的敏捷开发.持续交付之道.fir.im 团队也在全面实施敏捷,并推出新持续集成服务 - flo ...

  4. Jenkins+GitHub+Xcode+fir搭了一个持续集成环境

    enkins+GitHub+Xcode+fir搭了一个持续集成环境 字数826 阅读5699 评论44 喜欢49 原文链接 Coding Duck 今天用Jenkins+GitHub+Xcode+fi ...

  5. Apache DolphinScheduler 的持续集成方向实践

    今天给大家带来的分享是基于 Apache DolphinScheduler 的持续集成方向实践,分享的内容主要为以下六点: " 研发效能 DolphinScheduler CI/CD 应用案 ...

  6. 「持续集成实践系列」Jenkins 2.x 搭建CI需要掌握的硬核要点

    1. 前言 随着互联网软件行业快速发展,为了抢占市场先机,企业不得不持续提高软件的交付效率.特别是现在国内越来越多企业已经在逐步引入DevOps研发模式的变迁,在这些背景催促之下,对于企业研发团队所需 ...

  7. fir.im Weekly - 2016 年 Android 最佳实践列表

    2016 年已经过去一半,你在年初制定的成长计划都实现了吗? 学海无涯,技术成长不是一簇而就的事情.本期 fir.im Weekly 推荐 王下邀月熊_Chevalier的 我的编程之路--知识管理与 ...

  8. 一个Web 持续集成工作实践

    一个web的持续基础实践: https://mp.weixin.qq.com/src=3&timestamp=1494325174&ver=1&signature=wFVC0E ...

  9. 视频云SDK iOS持续集成项目实践

    1. 前言 2016年, 我们维护的 iOS推流播放融合SDK KSYLive_iOS 在github上发布了40多个版本, 平均两周发布一个新版本, 经历了最初痛苦的全手动版本构建和维护, 到后来慢 ...

随机推荐

  1. FibonacciSequence

    import java.util.Scanner; public class Fibonacci { public static void main(String[] args) { int n; f ...

  2. npm ERR publish 403,nodejs发布包流程

    nodejs学习体验之发布包,发布环境如下:1:win10系统,2:已安装nodejs. 具体操作步骤如下: *编写模块 1)新建文件夹,比如:somepackage 2) 该文件夹下新建js文件,比 ...

  3. scrapy-1.2.1安装失败之解决方法

    前几天重装了win10 64位系统,安装了python-3.5,但是用pip安装scrapy模块时出现如下错误: 看起来是lxml安装的时候出错了,于是先pip install lxml,出现了和上面 ...

  4. JavaScript 中 申明变量的方式--let 语句

    let 语句 - 声明一个块范围变量. 语法 let 变量名 = 初始化值; 例子 "use strict"; let name = '赵敏'; (function opt(){ ...

  5. GERBER文件

    GERBER文件 GERBER文件是一种国际标准的光绘格式文件,它包含RS-274-D和RS-274-X两种格式,其中RS-274-D称为基本GERBER格式,并 要同时附带D码文件才能完整描述一张图 ...

  6. js组件之间的通信

    应用场景: 1.在刷微博的时候,滑到某个头像上,会出现一张usercard(用户名片), 微博列表区有这个usercard, 推荐列表也有这个usercard,评论区也有. 2.在网上购物时,购物车安 ...

  7. React Native填坑之旅--布局篇

    代码在这里: https://github.com/future-challenger/petshop/tree/master/client/petshop/src/controller 回头看看RN ...

  8. oracle 抛出自定义错误(网上找的例子)

    CREATE OR REPALCE TRIGGER minimun_age_checkBEFORE INSERT ON employeeFOR EACH ROWBEGIN IF ADD_MONTHS( ...

  9. erlang日志功能。

    用cowboy这个库,没有日志功能,所以研究了otp提供的日志功能. 1.启动SASL的方式 erl –boot start_sasl 默认配置文件下启动SASL, {env, [{sasl_erro ...

  10. JavaScript对异常的处理

    JavaScript提供了一套异常处理机制.当查出事故时,你的程序应该抛出一个异常: var add=function(a,b){ if(typeof a !== 'number' || typeof ...