自动化持续集成Jenkins

使用Jenkins配置自动化构建
http://blog.csdn.net/littlechang/article/details/8642149

Jenkins入门总结
http://www.cnblogs.com/itech/archive/2011/11/23/2260009.html

Jenkins + sonar 的系统,用来执行自动构建、自动部署、自动测试,代码质量评估的整套平台,用来做敏捷。
持续集成是个简单重复劳动,人来操作费时费力,使用自动化构建工具完成是最好不过的了。

后期应该搞单元测试,自动化测试,自动部署
做分布式,服务器集群的时候没有自动化工具是很难运转的
软件开发过程自动化原理及技术(完整示例)
http://www.cnblogs.com/beer/p/5005344.html
-----------------------------

持续集成 的好处,可以使用一个制造业的例子来描述:
1913年,福特将 流水线 应用到汽车组装中,第一条流水线使每辆T型汽车的组装时间由原来的12小时28分钟缩短至10秒钟,生产效率提高了4488倍!
在现代软件工业领域也需要这样:先自动化,然后持续集成,才可以实现快速迭代,以产生巨大的生产力,符合现代人对软件工程的预期。

====================================
自动化方案
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能监视各种网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题。

自动化持续集成Jenkins的更多相关文章

  1. Jmeter(二十八)_Docker+Jmeter+Gitlab+Jenkins+Ant(容器化的接口自动化持续集成平台)

    这套接口自动化持续集成环境已经部署差不多了,现在说说我的设计思路 1:利用Docker容器化Gitlab,Jenkins,Jmeter,Ant,链接如下 Docker_容器化gitlab Docker ...

  2. docker+headless+robotframework+jenkins实现web自动化持续集成

    在Docker环境使headless实现web自动化持续集成 一.制作镜像 原则:自动化测试基于基础制作镜像 命令:docker run --privileged --name=$1 --net=ho ...

  3. Docker 从入门到放弃(四)Docker+Jenkins_自动化持续集成

    Windows 查看密码 $ cat /var/jenkins_home/secrets/initialAdminPassword 14e14c414f41481aa5955753d3f31f9f 自 ...

  4. 自动化测试架构设计 &&自动化持续集成测试任务实战[线性测试、模块驱动测试、数据驱动测试、关键字驱动测试]

    1 为什么设计自动化测试架构 1.1 企业现状分析 压力大:产品需求不明确,上线时间确定,压力山大. 混乱:未立项,开发时间已过半,前期无控制,后期无保障. 疲于应付:开发人员交付的文件质量差,测试跟 ...

  5. flow.ci + Github + Slack 一步步搭建 Python 自动化持续集成

    理想的程序员必须懒惰,永远追随自动化法则.Automating shapes smarter future. 在一个 Python 项目的开发过程中可能会做的事情:编译.手动或自动化测试.部署环境配置 ...

  6. 基于 flow.ci 实现 PHP 项目自动化持续集成

    高效程序员的习惯之一--让开发流程自动化.Automating shapes smarter future. 这是一个关于如何快速实现 PHP 项目自动化持续集成的快速指导.无论你是否使用过持续集成, ...

  7. 3 分钟轻松搭建 Ruby 项目自动化持续集成

    任何事情超过 90 秒就应该自动化,这是程序员的终极打开方式.Automating shapes smarter future. 这是一篇关于 Ruby 项目持续集成的快速指导教程,教大家如何使用 f ...

  8. 8 步搭建 Node.js + MongoDB 项目的自动化持续集成

    任何事情超过 90 秒就应该自动化,这是程序员的终极打开方式.Automating shapes smarter future. 这篇文章中,我们通过创建一个 Node.js + MongoDB 项目 ...

  9. 这些年我们一起搞过的持续集成~Jenkins+Perl and Shell script

    这些年我们一起搞过的持续集成~Jenkins+Perl and Shell script ##转载注明出处:http://www.cnblogs.com/wade-xu/p/4378224.html ...

随机推荐

  1. C++ Error: error LNK2019: unresolved external symbol

    在某工程中新添加了文件x.cu与x.hpp,实现了一些功能,最后编译整个工程的时候就出现了这个问题: error LNK2019: unresolved external symbol 这是链接错误, ...

  2. Windows Mysql binlog 数据恢复

    show variables like 'log_bin%'; 可以看到Mysql binlog为关闭状态,那我们去更改为开启状态

  3. spring c3po 连接mysql,sqlserver

    1  连接mysql (1) http://wenku.it168.com/d_000096351.shtml 2  连接sqlserver (1)http://blog.csdn.net/vinep ...

  4. vue中打包生成可配置文件以便修改接口地址

    vue打包上传到服务器之后,如果数据接口域名发生变化,需要手动修改接口地址,在发布的时候也麻烦,于是.. 在打包之后如果有一个json配置文件以便修改那不是方便很多 在网上找了一些方法貌似都是异步请求 ...

  5. 被included或者被required的文件都来自哪里呢

    过PHP,你可以使用不同函数帮助你重用代码.具体用到的函数取决于你打算重用的内容. 主函数如下: * include() and include_once() * require() and requ ...

  6. zero-shor learning 数据集

    OSR数据集下载地址: http://people.csail.mit.edu/torralba/code/spatialenvelope/ Relative Attributes Marr Priz ...

  7. SPOJ IM - Intergalactic Map - [拆点最大流]

    题目链接:http://www.spoj.com/problems/IM/en/ Time limit:491 ms Memory limit:1572864 kB Code length Limit ...

  8. MySQL在windows下的图形安装

    1.mysql官网下载mysql-5.5.53-winx64.msi文件并保存到磁盘相应目录. 2.图形化安装mysql数据库: 1)双击mysql-5.5.53-winx64.msi,出现欢迎界面, ...

  9. Python:字符串处理函数

    split() / join() 拆分和组合 #split() 通过指定分隔符对字符串进行切片(拆分),默认空格符 lan = "python ruby c c++ swift" ...

  10. SSL/TLS 握手优化详解

    随着 HTTP/2 的逐渐普及,以及国内网络环境越来越糟糕(运营商劫持和篡改),HTTPS 已经开始成为主流.HTTPS 在 TCP 和 HTTP 之间增加了 TLS(Transport Layer ...