安装jdk1.7

1)下载jdk-7u79-linux-x64.tar.gz至/usr/local目录,解压并创建软连接:

tar -zxvf jdk-7u79-linux-x64.tar.gz
ln -s jdk1.7.0_79 jdk

2)在/etc/profile中增加环境变量:

export JAVA_HOME=/usr/local/jdk
export CLASSPATH=./:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH

3)重新打开shell,输入“java -version”,如下图所示,说明jdk1.7安装成功。
1

安装Maven

1)下载apache-maven-3.3.9-bin.tar.gz至/usr/local目录,解压并创建软连接:

tar -zxvf apache-maven-3.3.9-bin.tar.gz
ln -s apache-maven-3.3.9 maven

2)在/etc/profile中增加环境变量:

export M2_HOME=/usr/local/maven
export M2=$M2_HOME/bin
export PATH=$M2:$PATH

3)Maven默认本地库地址是用户目录下的.m2/repository,可以通过修改用户目录下的.m2/settings.xml或Maven安装目录下的conf/settings.xml来修改本地库地址:

/usr/local/maven/repo

.m2/settings.xml优先级高于conf/settings.xml,.m2/settings.xml适用于某个用户,conf/settings.xml适用于所有用户。
4)重新打开shell,输入“mvn -version”,如下图所示,说明Maven安装成功。
1

安装Git

1)直接使用yum方式安装:

yum install git

2)安装后输入“git”,如下图所示,说明Git安装成功。
1

安装启动Jenkins

下载Jenkins.war,可以将该war包置于Web应用容器(如Tomcat)的应用目录下,通过Tomcat启动Jenkins,也可以直接使用“java -jar”启动Jenkins,使用Jetty作为Web应用容器。
启动前,需要在/etc/profile增加Jenkins的环境变量:

export JENKINS_HOME=/usr/local/jenkins

使用如下命令启动Jenkins:

nohup java -jar /usr/local/jenkins.war &

Jenkins默认使用8080端口,在浏览器下打开如图所示:
1

配置Jenkins

1)配置用户登录
在“系统管理->Configure Global Security”中设置“启用安全”,如图所示:
1
安全域可以选择“Jenkins专有用户数据库”,并允许用户注册。
保存后页面右上角会出现“注册”选项,注册用户后再进入“系统管理->Configure Global Security”,设置用户的授权策略,如图所示:
1
授权策略可以选择“安全矩阵”,取消匿名用户的所有权限,为“test”用户赋予所有权限。
2)安装Git插件
Jenkins默认没有安装Git插件,可以在“系统管理->管理插件”中选择Git插件进行安装,如图所示:
1
3)配置jdk和Maven
在“系统管理->系统设置”中配置jdk和Maven,如图所示:
1
1

自动构建和部署项目

web-test(https://github.com/magicwt/web-test.git)是一个Java Web项目,使用Maven构建,代码托管在GitHub上,使用Jenkins进行自动构建和部署。
1)新建项目
选择“构建一个maven项目”,如图所示:
1
2)Git配置
在“源码管理”中选择“Git”,并输入项目的GitHub库地址(事先需要将Jenkins所在服务器的公钥添加到项目的“Deploy Keys”中),如图所示:
1
3)Maven配置
在“构建触发器->Build”中设置Maven构建目标和选项,在“构建触发器->Post Steps”中设置构建成功后执行的Shell,Shell的功能是通过scp命令将war包拷贝至部署服务器,解压并重启Web应用进程,如图所示:
1
Shell代码如下:

配置完成后,点击“保存”。
4)构建、部署项目
在项目中,点击“立即构建”,在“Console Output”可以实时观察构建、部署过程,如图所示:
1
构建、部署成功后,浏览器下访问Web应用,访问正常。
1

基于WebSocket实现微信小程序的消息推送

微信小程序支持通过基于WebSocket进行消息推送,提供了相应的API,例如创建连接示例代码: JavaScript wx.connectSocket({ ...

阅读全文

基于nginx-sticky-module-ng实现会话保持(Sticky Sessions)

对服务进行集群部署,前端进行负载均衡时,需要实现会话保持,对于同一会话的多个请求,通过集群中的一个节点来提供服务。系统的部署结构如图所示,通过Resin...

阅读全文

ActiveMQ基于Zookeeper和LevelDB实现Master/Slave

ActiveMQ的Master/Slave目前支持三种实现方式: 1)Shared File System Master Slave; 2)JDBC Master Slave; 3)Replicated LevelDB Store。 对于第三种方...

阅读全文