CentOS 4.8 安装和配置基于 svn 的 hudson 持续集成环境(一)

涉及安装的软件:ant,junit,emma,findbugs,mysql,tomcat和tomcat-native,apache,php,mantis,subversion,sonar,maven2,hudson和相关插件包

一、安装JDK并设置变量

我下载的rpm安装包,默认安装到/usr/java/jdk1.6.0_16/目录。

作为统一集成环境变量的管理,创建ci.sh并复制到/etc/profile.d/目录。

编辑ci.sh增加如下内容:

exportJAVA_HOME=/usr/java/jdk1.6.0_16

exportCLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

二、安装ANT并设置变量

解压缩ant包到/opt/ant/目录,并复制junit.jar到/opt/ant/lib/目录。

编辑ci.sh增加如下内容:

exportANT_HOME=/opt/ant

三、安装FINDBUGS并设置变量

解压缩findbugs包到/opt/findbugs/目录,复制/opt/findbugs/lib/findbugs-ant.jar到/opt/ant/lib/目录

编辑ci.sh增加如下内容:

exportFINDBUGS_HOME=/opt/findbugs

四、安装MYSQL

解压缩mysql-5.1.54.tar.gz源码包,进入安装目录。

静态编译的方式

#./configure--prefix=/usr/local/mysql--localstatedir=/usr/local/mysql/data--enable-thread-safe-client--enable-local-infile--enable-assembler--enable-community-features--enable-profiling--with-client-ldflags=-all-static--with-mysqld-ldflags=-all-static--with-charset=utf8--with-collation=utf8_general_ci--with-extra-charsets=all--with-mysqld-user=mysql--without-embedded-server--with-big-tables--with-server-suffix=-community--with-unix-socket-path=/usr/local/mysql/etc/mysql.sock--without-debug--without-man--without-docs--with-plugins=partition,blackhole,csv,federated,heap,innobase,myisam

#make

#makeinstall

编译完成后的配置

#useraddysql

#cd/usr/local/mysql

#cpshare/mysql/my-medium.cnf/etc/my.cnf

#mkdiretc

安装数据库文件

#./bin/mysql_install_db

#chown-Rmysql:mysql.

#./bin/mysqld_safe--user=mysql&

如果需要使用InnodbPlugin的特性,则需要动态编译的方式

注意:动态编译innodb_plugin需要升级CentOS4.9的gcc版本,我升级到4.2.1,默认的版本总是编译失败

#exportCFLAGS="-O2-DHAVE_DLOPEN=1"

#exportCXXFLAGS="-O2-DHAVE_DLOPEN=1"

#./configure--prefix=/usr/local/mysql--localstatedir=/usr/local/mysql/data--enable-thread-safe-client--enable-local-infile--enable-assembler--enable-community-features--enable-profiling--with-charset=utf8--with-collation=utf8_general_ci--with-extra-charsets=all--with-mysqld-user=mysql--without-embedded-server--with-big-tables--with-server-suffix=-community--with-unix-socket-path=/usr/local/mysql/etc/mysql.sock--without-debug--without-man--without-docs--with-plugins=partition,blackhole,csv,federated,heap,innobase,innodb_plugin,myisam--disable-static

修改配置my.cnf增加如下内容:

#my.cnf

ignore_builtin_innodb

plugin_load=innodb=ha_innodb_plugin.so

innodb_file_format=barracuda

innodb_file_per_table

innodb_strict_mode=1

5、安装TOMCAT

解压缩tomcat包到/opt/tomcat/目录。

首先编译安装tomcat-native包,这是Apache为了提升Tomcat的性能开发的一套本地化Socket,Thread,IO组件。也就是说它有高级IO功能,操作系统级别的功能调用,以及本地进程处理等等。

1、安装APR

http://apr.apache.org下载apr-1.4.2.tar.gz

#tar–zxvfapr-1.4.2.tar.gz

#./configure--prefix=/opt/tomcat/apr

#make&&makeinstall

2、安装APR-UTIL

#http://apr.apache.org下载apr-util-1.3.9.tar.gz

#tar–xvfapr-util-1.3.9.tar.gz

#./configure--prefix=/opt/tomcat/apr--with-apr=/opt/tomcat/apr

#make&&makeinstall

3、安装tomcatnativelibrary(tomcat安装包的bin目录下)

#tarzxvftomcat-native.tar.gz

#cdtomcat-native-1.1.20-src/jni/native

#./configure--prefix=/opt/tomcat/apr/--with-apr=/opt/tomcat/apr/--with-java-home=/usr/java/jdk1.6.0_16/

#make&&makeinstall

4、配置使tomcat启动时找到nativelibrary

修改配置/bin/catalina.sh增加如下内容:

CATALINA_OPTS="-Djava.library.path=/opt/tomcat/apr/lib"

JAVA_HOME="/usr/java/jdk1.6.0_16"

设置完成,用tomcat控制台启动

#/opt/tomcat/bin/catalina.shrun

Tomcat的AprLifecycleListener会通过反射调用org.apache.tomcat.jni.Library的terminate方法,检测和加载动态库。详细情况请大家看源代码吧。

6、安装MANTIS

1、安装apache2

解压缩安装包并进行安装目录

#./configure--enable-dav--enable-so

#make&&makeinstall

2、安装php

#./configure--prefix=/usr/local/php--with-apxs2=/usr/local/apache2/bin/apxs--with-mysql=/usr/local/mysql--enable-mbstring

#make

#maketest

#makeinstall

复制PHP.INI文件到正确位置

#cpphp.ini-dist/usr/local/php/lib/php.ini

enable-mbstring启用mb_convert_encoding

修改php.ini配置文件,去掉注释:extension=php_mbstring.so

编辑httpd.conf文件,加载php模块

AddTypeapplication/x-httpd-php.php

安装Mantis具体简略过程

解压缩mantis包到/usr/local/apache2/htdocs/mantis目录,启动apache

通过浏览器访问http://127.0.0.1/mantis/admin/install.php

提示安装成功后,复制config_inc.php.sample为config_inc.php并修改连接数据库参数

默认管理员用户:administrator/root

[解决mantis的部分问题]

1、解决安装过程中报内存耗尽的问题

修改PHP配置文件php.ini,增加内存限制

memory_limit=32M

2、修改Mantis配置文件config_defaults_inc.php

a、取消创建用户时需要发送邮件设置密码的问题

$g_send_reset_password=OFF;

b、使用中文界面

$g_default_language='chinese_simplified';

3、CSV导出乱码问题

修改csv_export.php增加如下内容:

......

functionexpChangeCode($str){

returnmb_convert_encoding($str,"CP936","UTF-8");

}

......

#echo$t_header;

echoexpChangeCode($t_header);

......

#echo$t_value;

echoexpChangeCode($t_value);

......

#echo$t_function($t_row[$t_column]);

echoexpChangeCode($t_function($t_row[$t_column]));

......

未完,待续

相关推荐