自动化持续集成Jenkinshtml
使用Jenkins配置自动化构建
http://blog.csdn.net/littlechang/article/details/8642149 前端
Jenkins入门总结
http://www.cnblogs.com/itech/archive/2011/11/23/2260009.html nginx
Jenkins + sonar 的系统,用来执行自动构建、自动部署、自动测试,代码质量评估的整套平台,用来作敏捷。
持续集成是个简单重复劳动,人来操做费时费力,使用自动化构建工具完成是最好不过的了。web
后期应该搞单元测试,自动化测试,自动部署
作分布式,服务器集群的时候没有自动化工具是很难运转的
软件开发过程自动化原理及技术(完整示例)
http://www.cnblogs.com/beer/p/5005344.html
-----------------------------sql
持续集成 的好处,可使用一个制造业的例子来描述:
1913年,福特将 流水线 应用到汽车组装中,第一条流水线使每辆T型汽车的组装时间由原来的12小时28分钟缩短至10秒钟,生产效率提升了4488倍!
在现代软件工业领域也须要这样:先自动化,而后持续集成,才能够实现快速迭代,以产生巨大的生产力,符合现代人对软件工程的预期。shell
====================================
自动化方案
1.自动化单元测试
核心函数---- 自动化 单元测试
界面功能---- 手动 功能性自测
自动化测试涉及到自动化代码的编写,这部分的额外付出成本是在 回归测试 的时候收回的,回归的次数越多,边际成本就越小。
因此只有至关稳定下来的功能才有回归的价值。数据库
2.自动化打包构建
实现无人值守的自动化。基本上如今各类语言都有本身相应的成熟的打包构建工具。
例如:前端grunt能够完成的自动化任务有:
去除掉js源码里面的注释,压缩js,混淆js,合并文件
经过写好相应的配置文件,运行grunt的相应参数命令,能够很好地实现开发构建阶段的自动化工做流。缓存
3.自动化发布
自动化发布的具体实现技术手段有不少种。
可使用 Git 这样的版本管理工具,使用调用shell命令,或者第三方操做库实现代码的自动化部署。
使用Jenkins配置自动化构建。安全
例如:jQuery静态js发布方案使用总体文件上传到公网服务器的方式(使用fabric工具),基本流程:
扫描自动化构建的目录
使用fabric上传文件到N台指定的服务器的相应目录
使用fabric操控N台服务器设置静态文件的权限服务器
4.自动化检测发布结果
对发布结果进行检测,一个 开环 的系统的结果每每是存在不可预知的,每每是不可信的。
特别是在远程发布的时候,网络环境稳定性、服务器的硬件配额(磁盘容量已满)、web服务器配置(权限问题)都会成为发布失败的缘由。
只有造成 闭环 才会造成可靠的交付。
发布的目的不是执行发布的流程,而是最终可以让开发产出物可以提供正常的服务。
========================================
Shell、Mysql数据库入门、Http协议缓存实战Varnish,Lamp及Lnmp组合进阶管理、
自动化运维工具ansible、系统自动化部署工具cobbler、Zabbix监控工具、负载均衡集群及其应用实战(Lvs+nginx)、高可用集群及其实战(Keepalived)
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各类网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让系统管理员快速定位/解决存在的各类问题。