环境:CentOS release 6.5 (Final),JDK1.7,TOMCAt,MAVEN
步骤:
1.安装git
`yum install git`
可以直接从系统包管理器安装,但是拉下来的版本会非常的低,我们需要升级一下~
使用rpm的强大功能,从以下的地址中,导入安装所需要的证书,命令如
# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
因为yum命令下载的软件依赖于其所使用的软件仓库,所以我们只要更改其指定的软件仓库,就能使用yum来方便地下载安装RPMForge源中的软件来更新本机的软件,从而简化安装操作。其命令如下
# yum --enablerepo=rpmforge-extras update
这时你会看到有大量的软件更新,因为我们只需要更新git,所以选择’N’,不全部安装;
查看可用的git模块
# yum --enablerepo=rpmforge-extras provides git
# yum --enablerepo=rpmforge-extras install gitk-1.7.12.4-1.el6.rfx.i686.rpm
此时我们的git就升级好了,我们可以命令查看版本:
#git --version
2.安装jenkins服务器
首先下载jenkins.war包,我们使用的是2.0版本,可以直接下到tmp里:
wget http://mirrors.jenkins-ci.org/war/2.0/jenkins.war
下好之后,我们使用命令启动服务器(因为8080端口已被tomcat占用,我们需要换一个端口号):
java -jar jenkins.war --httpPort=9000
这样启动jenkins后有个问题就是命令窗口不能关掉,一关掉就会导致进程被杀死,大叔让我装了个screen(也不知道啥原理)
yum install screen
screen
java -jar jenkins.war --httpPort=9000
这样启动即可后台运行。
Jenkins启动后会初始化目录,默认目录是root下的.jenkins目录,最好不要修改,否则可能导致服务起不来,然后进入到http://host:port/ 选择安装的插件,选择完我们需要的插件,等待安装完毕。
2.2 Jenkins配置
配置maven,jdk,git地址
配置maven home
3.1新建Jenkins Job
选择构建一个自由风格的软件项目
进入到配置页面填写对应的配置信息
配置git源码管理,可以让jenkins拉取到仓库最新代码:
Credentials这项需要我们去Jenkins的Credentials System里配置我们的gitLab帐号,这里就不多说了;
3.2 配置构建流程
首先使用maven进行项目打包,这里我们只需要简单的clean install即可,但必须保证整个项目是可以在本地clean install成功的:
maven构建成功后,我们需要把build出来的最新的war包放到tomcat的服务器里,并重启tomcat服务,我们需要在构建流程里增加Executor Shell自己写shell脚本执行命令进行自动化部署,这里分享下我的脚本:
#!/bin/bash
BUILD_ID=DONTKILLME
TOMCAT_HOME="/home/apache-tomcat-7.0.68"
TOMCAT_PORT=8080
PROJECT="WindMall"
JENKINS_JOB="windmall"
#shutdown tomcat
${TOMCAT_HOME}/bin/shutdown.sh
echo "tomcat shutdown"
#check tomcat process
#TOMCAT_PID="lsof -n -P -t -i :${TOMCAT_PORT}"
#echo"current tomcat pid :"${TOMCAT_PID}
#while [ -n"${TOMCAT_PID}"]
#do
# sleep 5
# tomcat_pid="lsof -n -P -t -i :${TOMCAT_PORT}"
# echo"scan tomcat pid :"${TOMCAT_PID}
#done
sleep 3
#publish project
rm -rf ${TOMCAT_HOME}/webapps/${PROJECT}
rm -rf ${TOMCAT_HOME}/webapps/${PROJECT}.war
cp /root/.jenkins/workspace/${JENKINS_JOB}/${PROJECT}/target/${PROJECT}.war ${TOMCAT_HOME}/webapps/${PROJECT}.war
#start tomcat
cd ${TOMCAT_HOME}/bin
./startup.sh
echo "tomcat is starting!"
4.构建项目
到这时候我们就可以算是实现自动化部署了,只要点一下立即构建,jenkins就会去拉取我们的指定分支的最新代码,进行自动打包并重启服务。
我们可以进到构建进程里查看jenkins log:console-output,跑完没有出错就是构建成功了,以后就可以一键部署啦~