fir.im weekly - 「 持续集成 」实践教程合集
我们常看到许多团队和开发者分享他们的持续集成实践经验,本期 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-ci 和 circle-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 - 「 持续集成 」实践教程合集的更多相关文章
- 基于 Node.js 的轻量「持续集成」工具 CIZE
CIZE 是什么? CIZE 是一个「持续集成」工具,希望能让开发人员更快捷的搭建一个完整.可靠.便捷的 CI 服务. 甚至可以像 Gulp 或 Grunt 一样,仅仅通过一个 cizefile.js ...
- 「持续集成实践系列 」Jenkins 2.x 构建CI自动化流水线常见技巧
在上一篇文章中,我们介绍了Jenkins 2.x实现流水线的两种语法,以及在实际工作中该如何选择脚本式语法或声明式语法.原文可查阅:「持续集成实践系列」Jenkins 2.x 搭建CI需要掌握的硬核要 ...
- fir.im 持续集成技术实践
互联网时代,人人都在追求产品的快速响应.快速迭代和快速验证.不论是创业团队还是大中型企业,都在探索属于自己的敏捷开发.持续交付之道.fir.im 团队也在全面实施敏捷,并推出新持续集成服务 - flo ...
- Jenkins+GitHub+Xcode+fir搭了一个持续集成环境
enkins+GitHub+Xcode+fir搭了一个持续集成环境 字数826 阅读5699 评论44 喜欢49 原文链接 Coding Duck 今天用Jenkins+GitHub+Xcode+fi ...
- Apache DolphinScheduler 的持续集成方向实践
今天给大家带来的分享是基于 Apache DolphinScheduler 的持续集成方向实践,分享的内容主要为以下六点: " 研发效能 DolphinScheduler CI/CD 应用案 ...
- 「持续集成实践系列」Jenkins 2.x 搭建CI需要掌握的硬核要点
1. 前言 随着互联网软件行业快速发展,为了抢占市场先机,企业不得不持续提高软件的交付效率.特别是现在国内越来越多企业已经在逐步引入DevOps研发模式的变迁,在这些背景催促之下,对于企业研发团队所需 ...
- fir.im Weekly - 2016 年 Android 最佳实践列表
2016 年已经过去一半,你在年初制定的成长计划都实现了吗? 学海无涯,技术成长不是一簇而就的事情.本期 fir.im Weekly 推荐 王下邀月熊_Chevalier的 我的编程之路--知识管理与 ...
- 一个Web 持续集成工作实践
一个web的持续基础实践: https://mp.weixin.qq.com/src=3×tamp=1494325174&ver=1&signature=wFVC0E ...
- 视频云SDK iOS持续集成项目实践
1. 前言 2016年, 我们维护的 iOS推流播放融合SDK KSYLive_iOS 在github上发布了40多个版本, 平均两周发布一个新版本, 经历了最初痛苦的全手动版本构建和维护, 到后来慢 ...
随机推荐
- BruteXSS:XSS暴力破解神器
×01 BruteXSS BruteXSS是一个非常强大和快速的跨站点脚本暴力注入.它用于暴力注入一个参数.该BruteXSS从指定的词库加载多种有效载荷进行注入并且使用指定的载荷和扫描检查这些参数很 ...
- Activity设置全屏的三种方法
1.super.onCreate(savedInstanceState)方法之前调用: setTheme(android.R.style.Theme_Light_NoTitleB ...
- 【转】Python中的赋值、浅拷贝、深拷贝介绍
这篇文章主要介绍了Python中的赋值.浅拷贝.深拷贝介绍,Python中也分为简单赋值.浅拷贝.深拷贝这几种"拷贝"方式,需要的朋友可以参考下 和很多语言一样,Python中 ...
- ExtJs 3.0 动态生成 CheckBox
在开发过程中,往往需要利用数据动态生成Checkbox.如权限节点.考试答案,调查选项等等.在Extjs中,有两种方法来获取后台数据,一是Ext.Ajax()方法,第二种是利用 Store,store ...
- IOS竖屏应用单个页面横屏的解决办法
昨天朋友问我,怎么实现在竖屏的应用里,显示一个横屏的应用,由于也没做过 就说不知道了,但是我觉得会有这样的API ,因为我手机里就安装有这种类型的软件 今天早上起来,就想做一个Demo出来,惯例的是查 ...
- 使用ajax预加载图片
使用Ajax 上面所给出的方法似乎不够酷,那现在来看一个使用Ajax实现图片预加载的方法.该方法利用DOM,不仅仅预加载图片,还会预加载CSS.JavaScript等相关的东西.使用Ajax,比直接使 ...
- Linux网卡bounding详解
多块网卡绑在一起,作为一个网卡用,实现负载均衡和提高带宽 linux双网卡绑定一个IP地址,实质工作就是使用两块网卡虚拟为一块,使用同一个IP地址,是我们能够得到更好的更快的服务.其实这项技术在 ...
- JSON 序列化和反序列化——JavaScriptSerializer实现
一. JavaScriptSerializer 类由异步通信层内部使用,用于序列化和反序列化在浏览器和 Web 服务器之间传递的数据.您无法访问序列化程序的此实例.但是,此类公开了公共 API.因此, ...
- tomcat 运行程序很慢 运行一段时间就报错: java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: PermGen space 全称是Permanent Generation space,是指内存的永久保存区域. 由于这块内存主要是被JVM存放 ...
- Mac OS X 常用快捷键