持续集成--Jenkins--1

持续集成之Jenkins安装部署

1、安装JDK

Jenkins是Java编写的,所以需要先安装JDK,这里采用yum安装,如果对版本有需求,可以直接在Oracle官网下载JDK。

[[email protected] ~]# yum install -y java-1.8.0
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: mirrors.163.com
 * updates: mirrors.cn99.com
Package 1:java-1.8.0-openjdk-1.8.0.131-2.b11.el7_3.x86_64 already installed and latest version
Nothing to do
[[email protected] ~]#

  

2、安装Jekins

cd /etc/yum.repos.d/
wget http://pkg.jenkins.io/redhat/jenkins.repo
rpm --import http://pkg.jenkins.io/redhat/jenkins.io.key
yum install -y jenkins
systemctl start jenkins

  

3、检查启动情况。看到占用端口默认是8080

[[email protected] yum.repos.d]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1151/sshd
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1244/master
tcp6       0      0 :::3306                 :::*                    LISTEN      5755/mysqld
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd
tcp6       0      0 :::8080                 :::*                    LISTEN      8727/java
tcp6       0      0 :::22                   :::*                    LISTEN      1151/sshd
tcp6       0      0 ::1:25                  :::*                    LISTEN      1244/master
[[email protected] yum.repos.d]#

  

4、访问Jenkins

在浏览器输入http://192.168.58.12:8080来访问jenkins。

为了安全考虑,首先需要解锁Jenkins,请在/var/lib/jenkins/secrets/initialAdminPassword中查看文件。

5、密码

[[email protected] ~]# cat /var/lib/jenkins/secrets/initialAdminPassword

4687aa33576b4b748888bb60a88b2e4c

[[email protected] ~]#

页面上需要把上面的密码输入进去

复制密码进去

Jenkins只是个平台,真正干活的是插件

啥插件都有

选择它推荐的

安装过程

由于网络原因,有一些插件会安装失败

可以点击retry。很高概率会成功

下面的Subversion Plug-in  是svn插件

OWASP插件,它每年出一个top 10 的安全漏洞
开放式Web应用程序安全项目(OWASP)是一个非营利组织,不附属于任何企业或财团。
因此,由OWASP提供和开发的所有设施和文件都不受商业因素的影响。
OWASP支持商业安全技术的合理使用,它有一个论坛,在论坛里信息技术专业人员可以发表和传授专业知识和技能。

年度top10比较

设置Admin用户和密码

设置用户名和密码

登陆Jenkins

修复之后,重启jenkins,打开页面不报错了

Hudson是Jenkins的前身,是基于Java开发的一种持续集成工具,用于监控程序重复的工作,
包括:
1、持续的软件版本发布/测试项目。
2、监控外部调用执行的工作。
HUDSON被收购了。,然后写这个的人又搞了个Jenkins

装gitlab插件



目前已经部署好了gitlab,准备和gitlab集成。要安装gitlab插件
右边搜索gitlab

勾选这2个

下载中

下载完毕

它依赖ruby了。自动把ruby下载了,因为gitlab是ruby写的

勾选安装完重启Jenkins

创建任务


构建一个自由风格的软件项目

源码管理这里可以看到它支持git

系统管理--系统设置

看到url等

邮件相关

已经安装的插件

高级这里可以看到

更新插件的时候可以使用代理

也可以本地上传插件

或者你放在这个目录下,可以把别人的整个目录拷贝过来,重启Jenkins即可生效

[[email protected] plugins]# cd /var/lib/jenkins/plugins/
[[email protected] plugins]# pwd
/var/lib/jenkins/plugins
[[email protected] plugins]#

  

jenkins官网和官方文档


jenkins官网

https://jenkins.io/index.html

一些文档

https://jenkins.io/doc/developer/

插件列表

http://javadoc.jenkins.io/plugin/

它还有salt插件呢

报错了。需要权限认证

点击add弹出下面界面

类型里可以选择

除了上面配置的地方,下面也可以配置

点击下面

和刚才一样

配置deploy key



我们可以配置deploy key

如下配置

node2生成密钥对

[[email protected] ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
23:21:be:de:78:f7:82:40:b8:38:fa:6f:05:39:06:86 [email protected]
The key‘s randomart image is:
+--[ RSA 2048]----+
| .               |
|E o              |
| . o...          |
|  ..*. .         |
| . +.o. S        |
|o . .... .       |
|..  .o .         |
|.  ..oo o        |
| ..o+... o.      |
+-----------------+
[[email protected] ~]# 

[[email protected] ~]# cd .ssh/
[[email protected] .ssh]# cat id_rsa.pub
ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAABAQCz0QBxB9kIv8H6Uxe+clLvM99/7QOYTCVZzQKb0Q9Song1Yy9oryCcYWHogN30j80Ctbybu+3PAh4VIfz4SjY1tNd/Dv2Il3caz+5chvX0OL
DJCNl2w+Du7HjwdyszlzVc1rP4QTL/yYvrUz1fgBonRKa0/Y5CK7jEzQZ1+ZMuN/E/ubrDX5FIp0jfPPnbtTryWW8BMloOb+Q8EFKnaI6Wbyx9JzslOIawCkM77LL9RhxMbQ6A3QoU
HozmlFnhfu7AXnhfCdPb02xx4RCOAFoY9pEtOH+eHzT7/SQVf8VzEYO1vIe4TDP6sNN40/1pjUdBPcGiBMidM6pLk/j6CaxV [email protected]
[[email protected] .ssh]#

  

下面这里此项目的private deploy key设置的地方。

把key复制进去,同时title起一个简单明了的名字

添加成功(public deploy key要删除,防止冲突)

 

这里是public deploy key设置的地方

如下位置

node2拉取下看看,需要有git工具

[[email protected] ~]# yum install git -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: mirrors.163.com
 * updates: mirrors.cn99.com
Package git-1.8.3.1-6.el7_2.1.x86_64 already installed and latest version
Nothing to do
[[email protected] ~]#

把web-demo下载下来

[[email protected] ~]# git clone [email protected]:web/web-demo.git
Cloning into ‘web-demo‘...
remote: Counting objects: 13, done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 13 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (13/13), done.
[[email protected] ~]# ls
anaconda-ks.cfg  tools  web-demo
[[email protected] ~]# cd web-demo/
[[email protected] web-demo]# ls
index.html  README.md
[[email protected] web-demo]# cat index.html
hehehehhehehe
version 2.0
[[email protected] web-demo]#   

node2上已经没问题,开始配置jenkins的认证

这里应该输入私钥

复制私钥

[[email protected] ~]# cat .ssh/id_rsa
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAs9EAcQfZCL/B+lMXvnJS7zPff+0DmEwlWc0Cm9EPUqJ4NWMv
aK8gnGFh6IDd9I/NArW8m7vtzwIeFSH8+Eo2NbTXfw79iJd3Gs/uXIb19DiwyQjZ
dsPg7ux48HcrM5c1XNaz+EEy/8mL61M9X4AaJ0SmtP2OQiu4xM0GdfmTLjfxP7m6
w1+RSKdI3zz527U68llvATJaDm/kPBBSp2iOlm8sfSc7JTiGsApDO+yy/UYcTG0O
gN0KFB6M5pRZ4X7uwF54XwnT29NsceEQjgBaGPaRLTh/nh80+/0kFX/FcxGDtbyH
uEwz+rDTeNP9aY1HQT3BogTInTOqS5P4+gmsVQIDAQABAoIBAQCKQGMqhHIl++lU
YZab4qJJL4TjgoOFEOaWyLz8uBwj2K67vWqx/hQAqA7zCEGeywFA2CIPSspooqQm
c19gNw6+9C/LjOb5ohr9Dmmh0lJAV2X060znt2q1yDKkD7uzisqIerscYGSprXha
kkFZr9Br6KiT927tCViiV1BkXGMA4NAyFHQQBa493kYZ9tRM89nfzQXK8Ttjulp3
1qD3bPebsMWp6JuCtnFsRwfoYRnsYHHG3FsD5QOIV1tcKiT8v6fV5CklVejOn5O3
+992oNz0UqXuHD0GhFRGRo7Xro2XAsSpyxH0NPv6Aclz9eU6t3hXF+lg33l+tKYJ
HUrHvt9xAoGBANnNXmu72pyEhIMbWTw6qR2WAy5UL+hdggDilGbsTX9x33eZiaQR
bNT7qcX2CRq7pmXiH4o6LmljkkVYTGS/ZIkp6QZZp9CnE2Ywb0oo+UwfKPAXLMpd
2xBjg03YSzD6ElsPKeVgx78//UGbcWZWMbw7i9k//ho2j3XMKwHIIABPAoGBANNa
MK6VGJDX/PPvre+ktF50bKj4VDWNdT5nEvjuEG98zIEIh5geAgPVYMXeBELlKmvw
Az/eto5puvtPF2bXk/Y75xJ/pYha5KIhQYhbt+GLk71pWywu9wvZopkEViVc2Tf9
vIo+SFJEjxgQeotJG0S24kCJfNfoh9oIwGSGDxwbAoGALel7yOwNlkbdBCIkumyH
L8RqoT5/5tSnTfZ1YAjaAU6I09ZazGob7f2q+R73Jlp+JiX3jhTbqb2inNmTKP2r
fLqH8528oWBG15jILPLcMm6zG4FXIMWOIzNG/4bjusxMSEO3CjJPiQI9KbJRwkfT
LiHDRiWWNAJiVWuXeUWtcUMCgYEAwgmjeCTaEOC7ExmRDtqf3bf1qouShDgC0++9
s1ydKj3hYvV5x2aFYw+bcQ2Ly/6pG7+WvCS0ZbscN209huWUqhQE6S7Xwn/wOAlg
KNhL0X5bfSIk2kOj+/UrGmCo1lSP+J+zYRgdPapD1UwLtaTArC1bOvT+8RpC3yH5
wFBzvtECgYEAyYLpBV8vNzY7ilCmGctXtj5gsAvxOkYMVdaPkCXDr50qHBYYsHj4
22FdOq75zWgrIQo6Poke3IQcz4NML/+Z08r2qa7+4z5Jx5BnwXAnWEB9omcbANgD
m+h33eEXWr12L363c+/RVdZPINkmhaS69u4/Njh+dI1lL8Ta+8Ihkow=
-----END RSA PRIVATE KEY-----
[[email protected] ~]#

  

复制进去

添加描述

点击OK

继续编辑配置

这样就不报错了

下面还可以指定从哪个分支拉取,默认从master拉取,有些公司使用release分支

源码浏览器

gitlab的url

去gitlab上找到http的url

找出gitlab的版本

[[email protected] ~]# rpm -qa | grep gitlab
gitlab-ce-9.1.0-ce.0.el7.x86_64
[[email protected] ~]#

输入url和版本

版本只支持2位

拉到最下面保存

点击立即构建

查看控制台

下面这些都是控制台输出

从控制台可以看到它的工作路径

[[email protected] ~]# cd /var/lib/jenkins/workspace/auto-deploy
[[email protected] auto-deploy]# ls
index.html  README.md
[[email protected] auto-deploy]#

  

git show查看版本

[[email protected] auto-deploy]# git show
commit 7983661ca0d2be489b4442c3d49d137d2a1026df
Author: nmap <[email protected]>
Date:   Fri Apr 28 22:20:59 2017 +0800

    2.0

diff --git a/index.html b/index.html
index f95f8e7..d77c60b 100644
--- a/index.html
+++ b/index.html
@@ -1,2 +1,2 @@
 hehehehhehehe
-version 2.1
+version 2.0
[[email protected] auto-deploy]#

  

有个.get的目录

[[email protected] auto-deploy]# ls -a
.  ..  .git  index.html  README.md
[[email protected] auto-deploy]#

  

持续代码质量管理-Sonar部署


能检查代码里有没有bug,比如你代码里有个死循环的bug,不用运行,就能检测出来
它还会给你代码打分(代码质量)
Sonar 是一个用于代码质量管理的开放平台。
通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具。与持续集成工具(例如 Hudson/Jenkins 等)不同,
Sonar 并不是简单地把不同的代码检查工具结果(例如 FindBugs,PMD 等)直接显示在 Web 页面上,
而是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。
在对其他工具的支持方面,Sonar 不仅提供了对 IDE 的支持,可以在 Eclipse 和 IntelliJ IDEA 这些工具里联机查看结果;
同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。
此外,Sonar 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的支持。

Sonar部署
Sonar的相关下载和文档可以在下面的链接中找到:http://www.sonarqube.org/downloads/。需要注意最新版的Sonar需要至少JDK 1.8及以上版本。

[[email protected] ~]# yum install -y java-1.8.0
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * epel: mirrors.tuna.tsinghua.edu.cn
 * extras: mirrors.163.com
 * updates: mirrors.zju.edu.cn
Package 1:java-1.8.0-openjdk-1.8.0.131-2.b11.el7_3.x86_64 already installed and latest version
Nothing to do
[[email protected] ~]#

  

下载sonar包并安装

wget  https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-5.6.zip

[[email protected] src]# pwd
/usr/local/src
[[email protected] src]# ls
mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz  sonarqube-5.6.zip
[[email protected] src]# 

[[email protected] src]# yum install unzip -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * epel: mirrors.tuna.tsinghua.edu.cn
 * extras: mirrors.163.com
 * updates: mirrors.cn99.com
Package unzip-6.0-16.el7.x86_64 already installed and latest version
Nothing to do
[[email protected] src]# 

[[email protected] src]# unzip sonarqube-5.6.zip
[[email protected] src]# mv sonarqube-5.6 /usr/local/
[[email protected] src]# ln -s /usr/local/sonarqube-5.6/ /usr/local/sonarqube
[[email protected] src]#

  

准备Sonar数据库

[[email protected] src]# /usr/local/mysql/bin/mysqld --defaults-file=/usr/local/mysql/my.cnf &
[[email protected] src]# /usr/local/mysql/bin/mysql -S /usr/local/mysql/mysql.sock
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.30-log MySQL Community Server (GPL)
Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| t1                 |
| test               |
+--------------------+
5 rows in set (0.00 sec)

mysql> 

mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> GRANT ALL ON sonar.* TO ‘sonar‘@‘localhost‘ IDENTIFIED BY ‘[email protected]‘;
mysql> GRANT ALL ON sonar.* TO ‘sonar‘@‘%‘ IDENTIFIED BY ‘[email protected]‘;
mysql> FLUSH PRIVILEGES;

  

配置Sonar

[[email protected] src]# cd /usr/local/sonarqube/conf/
[[email protected] conf]# ls
sonar.properties  wrapper.conf
[[email protected] conf]#

编写配置文件,修改数据库配置

[[email protected] conf]# vim sonar.properties
sonar.jdbc.username=sonar
[email protected]
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance

修改之后如下

它默认监听的地址和端口

这里不用改,知道就行了

启动Sonar

你可以在Sonar的配置文件来配置Sonar Web监听的IP地址和端口,默认是9000端口。

[[email protected] conf]# /usr/local/sonarqube/bin/linux-x86-64/sonar.sh start
Starting SonarQube...
Started SonarQube.
[[email protected] conf]#

  

第一次启动慢,因为它要创建表

打开页面

关于sonar的目录结构

[[email protected] conf]# cd /usr/local/sonarqube
[[email protected] sonarqube]# ls
bin  conf  COPYING  data  extensions  lib  logs  temp  web
[[email protected] sonarqube]# cd logs/
[[email protected] logs]# ls
access.log  sonar.log
[[email protected] logs]#

  

插件存放位置

[[email protected] logs]# cd /usr/local/sonarqube
[[email protected] sonarqube]# ls
bin  conf  COPYING  data  extensions  lib  logs  temp  web
[[email protected] sonarqube]# cd extensions/
[[email protected] extensions]# ll
total 4
drwxr-xr-x 2 root root    6 Apr 29 16:34 deprecated
drwxr-xr-x 2 root root    6 Apr 29 16:35 downloads
drwxr-xr-x 3 root root   19 Jan 11  2016 jdbc-driver
drwxr-xr-x 2 root root 4096 Apr 29 16:34 plugins
[[email protected] extensions]# cd plugins/
[[email protected] plugins]# pwd
/usr/local/sonarqube/extensions/plugins
[[email protected] plugins]# 

[[email protected] plugins]# ll
total 21952
-rw-r--r-- 1 root root     128 Apr 11  2016 README.txt
-rw-r--r-- 1 root root 7797781 Apr  7  2016 sonar-csharp-plugin-5.0.jar
-rw-r--r-- 1 root root 3191477 Apr 28  2016 sonar-java-plugin-3.13.1.jar
-rw-r--r-- 1 root root 1678073 Apr  7  2016 sonar-javascript-plugin-2.11.jar
-rw-r--r-- 1 root root 3233128 Apr  7  2016 sonar-scm-git-plugin-1.2.jar
-rw-r--r-- 1 root root 6564535 Apr  7  2016 sonar-scm-svn-plugin-1.3.jar
[[email protected] plugins]#

  

安装中文插件

用户名和密码默认都是admin

配置的地方

可以选择升级一些东西,也可以搜索

点击右边的安装,实际上它是wget那个jar包,然后放在响应目录下

提示需要重启

提示重启才生效

 restart

另外一种下载插件的途径

从gitlab上下载

https://github.com/SonarQubeCommunity

搜索

点击release

wget下载jar即可

查看已经安装的

默认情况下它只能分析java和JS的,因为它只安装了java和JS的语言插件

如果想让它分析python,和php的。需要让它安装对应的插件

安装php和python的语言插件

安装css插件

时间: 2024-08-09 02:18:22

持续集成--Jenkins--1的相关文章

转载:持续集成Jenkins+sonarqube部署教程

转载: 持续集成Jenkins+sonarqube部署教程 持续集成 1 引言 1.1 文档概要 本文主要介绍jenkins,sonar的安装与集成,基于ant,maven构建.用一个例子介绍jenkins的编译打包部署,代码检查.最后集成jenkins.(现阶段只是简易的集成,后续需要修改accio源码做深度集成) 1.2 预计读者 系统配置管理员:要懂得搭建持续集成环境,有问题可以排查:架构师:了解持续集成实现原理,协助项目接入持续集成.项目在持续集成环境运行中,进行维护.分析构建异常等:维

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

这些年我们一起搞过的持续集成~Jenkins+Perl and Shell script ##本文同一时候发表在http://www.cnblogs.com/wade-xu/p/4378224.html ##转载注明出处 部门用持续集成已经非常久了,但事实上使用起来还是非常麻烦的.每当要给一个新项目set up持续集成的环境,尽管是Copy一些现有的jobs, 可是很多參数,变量须要去改,然后还有调试,少说3,4天搞一下,非常不方便. 近期比較空,就把现有的持续集成系统升级改造下,job用一套模

一步一步构建iOS持续集成:Jenkins+GitLab+蒲公英+FTP

什么是持续集成 持续集成是一种软件开发实践,即团队开发成员经常集成它们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成.每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误. 为什么使用持续集成 1.减少风险2.减少重复过程3.任何时间.任何地点生成可部署的软件4.增强项目的可见性 常用的持续集成工具 Jenkins CI Travis CI Hudson CI Circle CI 市面上的持续集成工具有很多,考虑到Jenkins的稳定性,

python+selenium自动化软件测试(第11章):持续集成jenkins和GitHub的使用

11.1 jenkins持续集成环境 相关安装包下载链接:http://pan.baidu.com/s/1qYhmlg4 密码:dcw2赠送jenkins集成selenium环境视频链接http://pan.baidu.com/s/1qXAHwg0 密码:juy7 11.2 tomcat+jenkins *******************************************************************************相关安装包下载链接:http://p

持续集成Jenkins + robot framework + git

Jenkins + robot framework + git持续集成 一.Jenkins安装插件 进入系统管理—插件管理—可选插件下安装以下插件Git Client Plugin.GIT plugin.GitHub API Plugin.GitHub plugin.Robot Framework plugin. 安装完如下: 二.配置git Path 进入系统管理—系统设置下.找到下面的位置.Path to Git executable一定要下git客户端安装路径的git.exe,而不是默认w

持续集成Jenkins+sonarqube部署教程

1 引言 1.1 文档概要 本文主要介绍jenkins,sonar的安装与集成,基于ant,maven构建.用一个例子介绍jenkins的编译打包部署,代码检查.最后集成jenkins.(现阶段只是简易的集成,后续需要修改accio源码做深度集成) 1.2 预计读者 系统配置管理员:要懂得搭建持续集成环境,有问题可以排查:架构师:了解持续集成实现原理,协助项目接入持续集成.项目在持续集成环境运行中,进行维护.分析构建异常等:维护人员:重启服务.排查环境问题.项目接入支持: 1.3 关于持续集成

持续集成~Jenkins里的NuGet和MSBuild插件

Jenkins是一个持续集成的环境,它是java开发的,大叔认为它的工作流程是 从源代码拉一个项目下来到它本地(可以配置定时机制) 恢复相关程序包nuget 编译程序 发布程序 现在说一下在配置jenkins里要注意的几个地方: jenkins的构建工作目录和job目录说明 构建目录:C:\Program Files (x86)\Jenkins\workspace工作目录:构建目录\任务job名称 nuget插件安装 插件管理-添加nuget 因为在工作时,你的目录为程序的sln所在目录,所以直

持续集成jenkins工具介绍(一)

1.持续集成简介 1.Jenkins对于MAVEN工程完整的编译和发布流程如下: 1)Jenkins从SVN上拉取代码到指定的编译机器上: 2)在编译机器上触发编译命令或脚本: 3)编译得到的结果文件: 4)把结果文件传到指定的服务器上 2.持续集成组件包括: 1)一个自动构建的过程,包括自动编译.分发.部署和测试: 2)一个代码存储库,需要版本控制软件来保障代码的可维护性,同事作为构建过程的素材库,例如SVN.GIT代码库: 3)一个jenkins持续集成服务器: 2.Jenkins持续集成M

持续集成-jenkins介绍与环境搭建

什么是持续集成? 转自:https://blog.csdn.net/tanshizhen119/article/details/80328523 持续集成,俗称CI, 大师Martin Fowler对持续集成是这样定义的:持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成.每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误.许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发

持续集成 Jenkins

持续集成应该就是项目小组的所有成员将自己的代码提交到服务器上 http://baike.baidu.com/link?url=k-w2RY9P04TyLa9Ez7j7sZF7p0IKT2jgZe7arWJg3JSxuSWyqdkmdzQvlKh4OS4Ncof17M_Lt3qLhMsrcZqcIK http://velep.com/archives/867.html http://www.ibm.com/developerworks/cn/java/j-lo-jenkinsintegrate/