转载请注明出处:http://blog.csdn.net/l1028386804/article/details/71076496

IP:192.168.4.221 8G 内存(Hudson 多个工程在同时构建的情况下比较耗内存)
环境: CentOS 6.6、 JDK7
Hudson 不需要用到数据库
Hudson 只是一个持续集成服务器(持续集成工具), 要想搭建一套完整的持续集成管理平台,
还需要用到前面课程中所讲到的 SVN、Maven、 Sonar等工具, 按需求整合则可。

1、 安装 JDK并配置环境变量(略)

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

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

(1)下载 maven-3.0.5

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

# wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.0.5/binaries/apache-maven-3.0.5-bin.tar.gz

(2)解压

# tar -zxvf apache-maven-3.0.5-bin.tar.gz
# mv apache-maven-3.0.5 maven-3.0.5

(3)配置 Maven 环境变量

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

(4)Maven 本地库配置

settings.xml文件内容如下:

<?xml version="1.0" encoding="UTF-8"?><settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"><localRepository>/root/maven-3.0.5/.m2/repository</localRepository><interactiveMode>true</interactiveMode><offline>false</offline><pluginGroups><pluginGroup>org.mortbay.jetty</pluginGroup><pluginGroup>org.jenkins-ci.tools</pluginGroup></pluginGroups><!--配置权限,使用默认用户--><servers><server><id>nexus-releases</id><username>deployment</username><password>deployment123</password></server><server> <id>nexus-snapshots</id><username>deployment</username><password>deployment123</password></server></servers><mirrors></mirrors><profiles><profile><id>edu</id><activation><activeByDefault>false</activeByDefault><jdk>1.6</jdk></activation><repositories><!-- 私有库地址--><repository><id>nexus</id><url>http://localhost:8081/nexus/content/groups/public/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository></repositories>      <pluginRepositories><!--插件库地址--><pluginRepository><id>nexus</id><url>http://localhost:8081/nexus/content/groups/public/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></pluginRepository></pluginRepositories></profile><profile><id>sonar</id><activation><activeByDefault>true</activeByDefault></activation><properties><!-- Example for MySQL--><sonar.jdbc.url>jdbc:mysql://localhost:3306/sonarqube?useUnicode=true&characterEncoding=utf8</sonar.jdbc.url><sonar.jdbc.username>root</sonar.jdbc.username><sonar.jdbc.password>wusc.123</sonar.jdbc.password><!-- Optional URL to server. Default value is http://localhost:9000 --><sonar.host.url>http://localhost:9090/sonarqube</sonar.host.url></properties></profile></profiles><!--激活profile--><activeProfiles><activeProfile>edu</activeProfile></activeProfiles></settings>

3、 配置HudsonHome

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

# mkdir HudsonHome

切换到 root 用户,在 /etc/profile 中配置全局环境变量

# vi /etc/profile
## hudson env
export HUDSON_HOME=/root/HudsonHome
# source /etc/profile

4、 下载 Tomcat7

wget http://apache.fayea.com/tomcat/tomcat-7/v7.0.77/bin/apache-tomcat-7.0.77.tar.gz

5、 解压安装 Tomcat

# tar -zxvf apache-tomcat-7.0.77.tar.gz
# mv apache-tomcat-7.0.77 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 是有下面的提示:

设置 hudson-tomcat 的内存

# vi /root/hudson-tomcat/bin/catalina.sh

#!/bin/sh 下面增加:

JAVA_OPTS='-Xms512m -Xmx2048m'

6、 下载 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

7、配置防火墙

防火墙开启 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

8、 设置 hudson-tomcat 开机启动

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

# vi /etc/rc.local

加入:

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

9、 启动 hudson-tomcat

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

10、 配置 Hudson

(1)浏览器输入: http://192.168.4.221:8080/hudson/

初始化安装需要安装 3 个默认勾选中的插件(如上图红色部分), 其它插件可以等初始化安装完成之后再选择安装。点击“Install”安装按钮后,需要等待一会时间才能安装完成。 安装完成后按“Finish”按钮。安装的插件保存在 /root/HudsonHome/plugins 目录。
(2) 初始化完成后就会进行 Hudson 的配置管理界面:

安全配置

启用安全配置

使用项目矩阵授权策略

注册一个超级管理员账号



系统设置

配置系统信息、 JDK 、 Maven



保存后的效果

插件安装

结合我们想要实现的持续集成功能,需要安装如下几个插件。如想集成更多功能,自行添加插件并配置则可。(注意:现在我们使用了 SonarQube 质量管理不台,则不再需要在Hudson 中单独去安装 CheckStyle、 Findbugs、 PMD、 Cobertura 等 Sonar 中已有的插件)逐个搜索你想要安装的插件并点击安装,安装完之后重启 Hudson。如下图所示:

在 Hudson 中配置SonarQube 链接

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

Hudson之——持续集成服务器的安装与配置相关推荐

  1. CI服务器-Hudson持续集成服务器的安装配置与使用

    第一章 Hudson持续集成服务器的安装配置 IP:192.168.4.221  8G内存(Hudson多个工程在同时构建的情况下比较耗内存)  环境:CentOS 6.6.JDK7  Hudson不 ...

  2. Hudson 持续集成服务器的安装配置与使用

    转自  吴水成 double 视频 Hudson 不需要用到数据库 Hudson 只是一个持续集成服务器(持续集成工具),要想搭建一套完整的持续集成管理平台, 还需要用到前面课程中所讲到的 SVN.M ...

  3. Hudson:持续集成工具的安装、使用

    Hudson简介 http://hudson-ci.org      以其强大的功能和易用的界面征服了大量的用户,它与主流的构建工具.版本控制系统以及自动化测试框架都能进行很好的集成.      很多 ...

  4. 8、Hudson集成服务器的安装配置与使用

    Hudson集成服务器的安装配置与使用 IP:192.168.159.120 center os 6.5 + jdk1.8 hudson不需要数据库支持 Hudson 只是一个持续集成服务器(持续集成 ...

  5. Docker + Jenkins 快速打造 PHP 持续集成服务器

    假如你想快速搭建一个 PHP CI/CD 服务器,那么 Docker 可以作为一个很好的选择.本文从实践的角度给出一个快速搭建 Docker + Jenkins 的 PHP 持续集成服务器的方案.如果 ...

  6. 【DevOps】持续集成环境-Jenkins安装图文版

    文章目录 前言 Jenkins的安装 1. 环境 2. 安装java 3. 下载Jenkins 4. 安装Jenkins 5. 访问测试 6. 安装插件 7. 创建管理员账号 8. 安装完成: 总结 ...

  7. cobbler集成服务器批量安装操作系统(无人值守)

    cobbler集成服务器批量安装操作系统 yum install epel-release -y #需要安装的epel源 yum install cobbler -y #安装cobbler,同时安装依 ...

  8. Android 持续集成实践(二)——配置 Docker + gitlab-runner 实现线上自动编译

    文章目录 前言 系列文章 Android 持续集成实践(二)--配置 Docker + gitlab-runner 实现线上自动编译 安装 Docker 安装 gitlab-runner 安装 注册 ...

  9. Android 持续集成实践(四)——配置 WebHook 通知编译结果

    文章目录 前言 系列文章 Android 持续集成实践(四)--配置 WebHook 通知编译结果 团队沟通工具 创建团队 创建讨论组 添加 BearyChat 机器人 配置 WebHook gitl ...

最新文章

  1. PHP basename() 函数
  2. 捡到vivo手机怎么清除账号_大学保安两天两次跳湖为路人捡手机,您怎么看?...
  3. Android KitKat 4.4 Wifi移植AP模式和网络共享的调试日志
  4. Qt 3D的未来展望
  5. 前端vue里面点击加载更多_vue 原生添加滚动加载更多
  6. mssql 跨库获取mysql
  7. 信息学奥赛一本通(1156:求π的值)
  8. mysql_install_db创建空库_MySQL数据库的初始化mysql_install_db
  9. C语言链表与指针的知识点,C/C++知识点之C语言链表详解
  10. Latex 制作斜线表头、合并行列单元格
  11. JavaScript实现动态添加员工信息
  12. C++语言程序设计(第5版 郑莉、董渊)学习笔记(自用~)
  13. 【JavaScript练习】用户输入一个数判断是否是素数,并弹出返回值
  14. 被限制出县城_5种人不被批准出境 芜湖县今年阻止14人
  15. 2011年7月编程语言排行榜:COBOL五角大楼出品
  16. EEG微状态:注意力缺陷多动症ADHD新的功能生物标记物
  17. https://blog.csdn.net/wgq13518480130/article/details/123580808
  18. 有多少爱 就有多少原谅
  19. win10操作系统怎么查看电池损耗
  20. Match公链官网正式上线,链接Web3加速落地

热门文章

  1. Flutter ShowModalBottomSheet 自定义高度和滚动
  2. 计算机网络有很多用处,计算机网络的概念、基本组成和用途
  3. PL/SQL:DBMS_PIPE包的使用
  4. intent传递较大数据的解决和intent不能传递较大数据的原因
  5. 头歌平台(EduCoder)—— Matplotlib接口和常用图形
  6. python日期函数
  7. CSS垂直居中和水平居中
  8. 模拟量采集模块4-20ma0-10v0-5v转rs485modbus 2/4/8/16路电流电压输出输入
  9. 深度强化学习:从像素玩Pong!
  10. 数据操作层ACCSEE