CI 环境架构设计及工作原理解析


一、搭建意义

CI 坏境搭建是敏捷开发的必备,简单说就是有这样一套工具,使得开发人员做好开发和单元测试再 push 代码后就不用管了,这套工具能自动地 check 代码的变化,自动 build自动做集成测试和场景测试等,自动部署到生产环境,减轻人工劳动力,提高软件开发效率。

 

二、环境架构

2.1 CI环境架构图

 

1. CI环境整体架构

 

2.2 环境成员职责描述

1) 开发者:

代码编写与提交。

2) GitHub

代码托管平台。

3) Jenkins所在服务器:

搭建Jenkins服务,安装与Jenkins集成的其它插件如:git插件、代码静态化检查插件、邮件通知插件等...;能配合Jenkins插件实现监控GitHub代码变化、下载Git代码,进行静态化检查或者配合Linux命令或脚本实现代码打包、SSH到其它服务器、重启应用服务等。

 

Jenkins重要插件级说明

插件名

作用

备注

Git plugin

This plugin integrates Git with Jenkins.


Checkstyle Plug-in

This plug-in collects the Checkstyle analysis results of the project modules and visualizes the found warnings.


Box UK - JSLint

JSLint plugin that allows you to run a sensible subset of jslint rules against your project. You can include and exclude files and specify an output file.

Outputs in the CheckStyle format so you can integrate the JSLint results right into your build! You should probably use the Checkstyle plugin to include the jslint results in your Jenkins project,

 


Email Extension Plugin

This plugin is a replacement for Jenkins's email publisher


GitHub plugin

This plugin integrates GitHub to Jenkins.


Publish Over SSH

Send build artifacts over SSH


SSH plugin

This plugin executes shell commands remotely using SSH protocol.


SSH2 Easy Plugin

This plugin allows you to ssh2 remote server to execute linux commands , shell , sftp upload, downlaod etc





 

4) 测试环境服务器:

代码部署平台。

5) 生产环境服务器:

代码部署平台。

 

2.3 环境运行流程

 

2. SSE-CI环境UML时序图

 



接下来就要实际搭建 CI 环境了,请参照我的下一篇文档:

CI 环境 (Jenkins) 搭建教程