Hudson 持续集成

Hudson 持续集成

更多干货

概述

IP:192.168.4.221 8G 内存(Hudson 多个工程在同时构建的状况下比较耗内存) 环境:CentOS 6.六、JDK7 Hudson 不须要用到数据库

Hudson 只是一个持续集成服务器(持续集成工具),要想搭建一套完整的持续集成管理平台, 还须要用到前面课程中所讲到的 SVN、Maven、Sonar 等工具,按需求整合则可。

ctoedu

一、 安装 JDK 并配置环境变量

JAVA_HOME=/usr/local/java/jdk1.7.0_72

二、 Maven 本地仓库的安装(使用 Maven 做为项目构建与管理工具):

  • 下载 maven-3.0.5

(注意:建议不要下载 3.1 或更高版本的 Maven,由于与 Hudson 进行集成时会有问题,以前有遇到过):

# wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.0.5/binaries/apache-maven3.0.5-bin.tar.gz
  • 解压:

# tar -zxvf apache-maven-3.0.5-bin.tar.gz
# mv apache-maven-3.0.5 maven-3.0.5
  • 配置 Maven 环境变量:

# vi /etc/profile
## maven env
export MAVEN_HOME=/root/maven-3.0.5
export PATH=$PATH:$MAVEN_HOME/bin
# source /etc/profile

三、 配置 HudsonHome,在/root 目录下建立 HudsonHome 目录,并配置到环境变量

# mkdir HudsonHome

切换到 root 用户,在/etc/profile 中配置全局环境变量 # vi /etc/profile ## hudson env export HUDSON_HOME=/root/HudsonHome # source /etc/profile

四、 下载最新版 Tomcat7,当前最新版为 7.0.59:

# wget http://apache.fayea.com/tomcat/tomcat-7/v7.0.59/bin/apache-tomcat7.0.59.tar.gz

五、 解压安装 Tomcat:

# tar -zxvf apache-tomcat-7.0.59.tar.gz
# mv apache-tomcat-7.0.59 hudson-tomcat

移除/root/hudson-tomcat/webapps 目录下的全部文件:

# rm -rf /root/hudson-tomcat/webapps/*

将 Tomcat 容器的编码设为 UTF-8:

# vi /root/hudson-tomcat/conf/server.xml
<Connector port="8080" protocol="HTTP/1.1"
 connectionTimeout="20000"
 redirectPort="8443" URIEncoding="UTF-8" />

若是不把 Tomcat 容器的编码设为 UTF-8,在之后配置 Hudson 是有下面的提示:

ctoedu

设置 hudson-tomcat 的内存

# vi /root/hudson-tomcat/bin/catalina.sh
#!/bin/sh 下面增长:
JAVA_OPTS='-Xms512m -Xmx2048m'

六、 下载最新版的 Hudson(这里是 3.2.2 版)包:

# wget http://mirror.bit.edu.cn/eclipse/hudson/war/hudson-3.2.2.war

将 war 包拷贝到 hudson-tomcat/weapps 目录,并重命名为 hudson.war

# cp /root/hudson-3.2.2.war /root/hudson-tomcat/webapps/hudson.war

七、 防火墙开启 8080 端口,用 root 用户修改/etc/sysconfig/iptables,

# vi /etc/sysconfig/iptables

增长:

## hudson-tomcat port:8080
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

重启防火墙:

# service iptables restart

八、 设置 hudson-tomcat 开机启动:

在虚拟主机中编辑/etc/rc.local 文件,

# vi /etc/rc.local

加入:

/root/hudson-tomcat/bin/startup.sh

九、 启动 hudson-tomcat

# /root/hudson-tomcat/bin/startup.sh

十、 配置 Hudson:

ctoedu

初始化安装须要安装 3 个默认勾选中的插件(如上图红色部分),其它插件能够等初始化安装完成以后再选择安装。

点击“Install”安装按钮后,须要等待一会时间才能安装完成。安装完成后按“Finish”按钮。

安装的插件保存在 /root/HudsonHome/plugins 目录。

  • 初始化完成后就会进行 Hudson 的配置管理界面:

ctoedu
ctoedu

安全配置

ctoedu

使用项目矩阵受权策略

ctoedu

注册一个超级管理员帐号

ctoedu
ctoedu
ctoedu

系统设置

ctoedu

配置系统信息、JDK、Maven

ctoedu
ctoedu
ctoedu

保存后的效果

ctoedu

插件安装

ctoedu

结合咱们想要实现的持续集成功能,须要安装以下几个插件。如想集成更多功能,自行添加插件并配置则可。(注意:如今咱们使用了 SonarQube 质量管理不台,则再也不须要在 Hudson 中单独去安装 CheckStyle、Findbugs、PMD、Cobertura 等 Sonar 中已有的插件)

逐个搜索你想要安装的插件并点击安装,安装完以后重启 Hudson。

以下图所示:

ctoedu
ctoedu

在 Hudson 中配置 SonarQube 连接

ctoedu

以上就是 Hudson 的基本安装和配置,更多其它配置和功能可自行扩展

Hudson 的使用(使用 Hudson 来自动化编译、分析、打包、发布、部署项目)

添加项目

ctoedu
ctoedu
ctoedu
ctoedu
ctoedu
ctoedu