Loading...
My Blog 我的工作和学习笔记

持续集成工具Jenkins安装配置(Jenkins、SVN、MAVEN、Tomcat )

程序员笔记 2016/01/15 持续集成 , Tomcat

开篇说明

持续集成工具可以使项目的构建、测试和部署等自动化,为软件开发节省大量的时间,这里主要简单介绍MAC下安装Jenkins,并且新建一个构建MAVEN的项目,使用SVN进行源码管理,构建成功后,安装部署到Tomcat 7.x。


环境准备

1、安装好JDK并且配置好环境变量,这里略过

2、安装好MAVEN并且配置好环境变量,这里略过

3、安装好Tomcat并且配置好端口和管理用户权限和角色

下载“apache-tomcat-7.0.67-windows-x64.zip”解压为“apache-tomcat-7.0.67”

编辑“conf/tomcat-users.xml”,配置管理员账号和权限

<role rolename="manager-gui"/>
<role rolename="manager-script"/>    
<role rolename="manager-jmx"/>    
<role rolename="manager-status"/>    
<user username="admin" password="123456" roles="manager-gui"/>  
<user username="tomcat" password="123456" roles="manager-script,manager-jmx,manager-status"/>

由于Jenkins默认安装的端口是8080,所有这里需要修改Tomcat的端口为7777

编辑“conf/server.xml”

<Connector port="7777" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"


具体步骤

1、访问http://jenkins-ci.org/下载适合自己操作系统的版本的安装包。

MAC下载安装“jenkins-1.644.pkg”,浏览器打开:http://localhost:8080,显示Jenkins表示安装成功。


2、默认安装的Jenkins没有自带“Deploy to container Plugin”插件,所里这里需要安装这个插件,在Jenkins首页进入到“系统管理”-》“插件管理”-》“可选插件”,选择“Deploy to container Plugin”并且安装。


3、进行“系统管理”-》“系统配置”

    1)Maven Configuration

    2)Maven -》 Maven安装

    3)邮件通知


4、在Jenkins首页新建一个“构建一个maven项目”的项目

   1)源码管理配置:svn://localhost/svn-repository/appone

   2)构建触发器 Poll SCM : */5 * * * *    //5分钟执行一次

   3)构建后操作 构建成功后部署到Tomcat


其他说明

1、mac下使用如下命令可以进行Jenkins的启动和关闭

sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist

sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist


2、mac下默认安装的Jenkins的目录是“/Users/Shared/Jenkins/Home”



参考文档

http://jenkins-ci.org/

http://www.cnblogs.com/itech/archive/2011/11/23/2260009.html

Tomcat使用Redis缓存实现分布式Session共享

程序员笔记 2016/01/15 Tomcat , Redis

前置场景描述

    在两台linux服务器上分别安装Tomcat,并且部署相同的WEB应用,通过前置服务器的nginx反向代理,达到这两个Tomcat的负载均衡的目的,实现分布式部署;当发生单点故障或者临时停机,nginx会将用户当前访问的WEB应用切换到其他正常服务器到应用上,这个时候如果session不同步,则会导致用户会话超时,提示再次登录的现象,会给用户产生非常不好的体验。

所以出现了Tocmat Session共享的课题,用于解决session不同步,应用切换时会话超时的问题。

    Tomcat Session共享的实现方式有多种,例如使用memcache、mongodb、redis等,本文主要针对使用redis来实现Tomcat的Session共享。


实际操作步骤

1、访问https://github.com/jcoleman/tomcat-redis-session-manager/releases ,下载"1.2-tomcat-7-java-7.zip"并解压后将项目导入Eclipse,构建成功,并且导出“tomcat-redis-session-manager-1.2-tomcat-7.jar”


2、将如下jar包放到tomcat的lib目录下

tomcat-redis-session-manager-1.2-tomcat-7.jar

commons-pool2-2.2.jar

jedis-2.5.2.jar

tomcat-juli-7.0.27.jar


3、编辑tomcat配置文件context.xml,加入如下内容

    <Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" />
    <Manager className="com.radiadesign.catalina.session.RedisSessionManager"
         host="localhost" 
         port="6379" 
         database="0" 
         maxInactiveInterval="60" 
         />


这里使用的是本机默认安装的redis


4、启动tomcat并且访问应用,查看redis缓存内容如下

127.0.0.1:6379> get 33B32CE273EE4375C78B75CD8BE684DA
"\xac\xed\x00\x05sr\x00Ncn.zblink.framework.redis.session.manager.tomcat7.SessionSerializationMetadata\xdea\xb1\n\x9a\xcdn\xff\x03\x00\x01[\x00\x15sessionAttributesHasht\x00\x02[Bxpw\x14\x00\x00\x00\x10V\x1b\x96:\xe1r\x97_m'k\xbb\xca\xeb\x0e\x1axsr\x00\x0ejava.lang.Long;\x8b\xe4\x90\xcc\x8f#\xdf\x02\x00\x01J\x00\x05valuexr\x00\x10java.lang.Number\x86\xac\x95\x1d\x0b\x94\xe0\x8b\x02\x00\x00xp\x00\x00\x01RDC\"\x02sq\x00~\x00\x03\x00\x00\x01RDC\"\x02sr\x00\x11java.lang.Integer\x12\xe2\xa0\xa4\xf7\x81\x878\x02\x00\x01I\x00\x05valuexq\x00~\x00\x04\x00\x00\a\bsr\x00\x11java.lang.Boolean\xcd r\x80\xd5\x9c\xfa\xee\x02\x00\x01Z\x00\x05valuexp\x01q\x00~\x00\nsq\x00~\x00\x03\x00\x00\x01RDC\"\x03t\x00 33B32CE273EE4375C78B75CD8BE684DAsq\x00~\x00\a\x00\x00\x00\x01t\x00\x15justForSessionTestKeyq\x00~\x00\x0ew\b\x00\x00\x01RDC\"\x02"
127.0.0.1:6379>


参考文档:

https://github.com/jcoleman/tomcat-redis-session-manager

Linux安装配置Tomcat

Linux操作笔记 2016/01/05 Tomcat , Linux

一、安装JAVA运行时环境jre

到oracle官网下载“jre-7u79-linux-x64.rpm”,并且安装(使用root账号登录安装)

rpm -ivh jre-7u79-linux-x64.rpm


查看默认安装目录 

find / -name java

/usr/java/jre1.7.0_79


环境变量配置

vi /etc/profile

在profile文件末尾加入: 
export JAVA_HOME=/usr/java/jre1.7.0_79 
export PATH=$JAVA_HOME/bin:$PATH 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 


二、安装配置Tomcat

1、到tomcat官网下载“apache-tomcat-7.0.67-windows-x64.zip”,将安装zip文件上传至/data并且解压

cd /

mkdir data

cd /data

unzip apache-tomcat-7.0.67-windows-x64.zip  (如果没有unzip命令则安装:yum install unzip)


2、解压完成后,为脚本文件授权

cd /data/apache-tomcat-7.0.67/bin

chmod +x startup.sh

chmod +x catalina.sh

chmod +x shutdown.sh


3、配置server.xml中的URIEncoding编码为:URIEncoding="utf-8",

vi /data/apache-tomcat-7.0.67/conf/server.xml

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="utf-8" />

这里同时可以修改默认端口8080为其他未被占用的端口


4、为tomcat加大内存配置:编辑catalina.sh添加内存配置,这里最大内存配置为2G

vi /data/apache-tomcat-7.0.67/bin/catalina.sh

JAVA_OPTS="-server -Xms1600m -Xmx1600m -Xmn533m -XX:PermSize=128m -XX:MaxPermSize=320m
-XX:NewSize=320m -XX:MaxNewSize=512m -Dfile.encoding=utf-8"

至此,tomcat可以开始启动运行工作

./startup.sh

Using CATALINA_BASE:   /data/apache-tomcat-7.0.67

Using CATALINA_HOME:   /data/apache-tomcat-7.0.67

Using CATALINA_TMPDIR: /data/apache-tomcat-7.0.67/temp

Using JRE_HOME:        /usr

Using CLASSPATH:       /data/apache-tomcat-7.0.67/bin/bootstrap.jar:/data/apache-tomcat-7.0.67/bin/tomcat-juli.jar

Tomcat started.


三、其他更多配置

1、将tomcat配置为服务启动

vi /etc/init.d/tomcat

#!/bin/bash
#set startup script for the Tomcat server
#
# chkconfig: 345 80 20
# description: start the tomcat deamon
#
# Source function library
. /etc/rc.d/init.d/functions
 
prog=tomcat
JAVA_HOME=/usr/java/jre1.7.0_79
 export JAVA_HOME
CATALANA_HOME=/data/apache-tomcat-7.0.67
 export CATALINA_HOME
 
case "$1" in start)
    echo "Starting Tomcat..."
    $CATALANA_HOME/bin/startup.sh
    ;;
 
stop)     echo "Stopping Tomcat..."
    $CATALANA_HOME/bin/shutdown.sh
    ;;
 
restart)     echo "Stopping Tomcat..."
    $CATALANA_HOME/bin/shutdown.sh     sleep 2     echo     echo "Starting Tomcat..."
    $CATALANA_HOME/bin/startup.sh
    ;;
 *)
    echo "Usage: $prog {start|stop|restart}"
    ;; esac
exit 0


为服务启动脚本执行授权

chmod +x /etc/init.d/tomcat


检查是否配置成功

service tomcat start | stop | restart


2、配置为开启自动启

chkconfig --add tomcat


3、将tomcat目录和服务执行脚本的拥有者分配给非root用户

创建用户组tomcat:groupadd tomcat

添加用户并加入组:useradd tomcat -g tomcat

修改tomcat用户密码:passwd tomcat


给tomcat组用户tomcat分配

chown -R tomcat:tomcat /data/apache-tomcat-7.0.67

chown  tomcat:tomcat /etc/init.d/tomcat

chmod a+x /etc/init.d/tomcat