自动构建平台jenkins使用

自动化同步文档

一、本地同步准备

172.18.1.247同步到172.18.1.249

1、双击互信

注意不要破坏自动构建平台172.18.1.247的环境,只需要在172.18.1.247上复制key到其他节点即可。

# ssh-copy-id root@172.18.1.249

输入密码即可

2、在172.18.1.249上创建同步模块

安装rsync包

# yum –y install rsync

# vim /etc/rsyncd.conf

uid= rootgid= rootuse chroot= yesmax connections = 30pid file=/var/run/rsyncd.pidlog file=/var/log/rsyncd.loglist = no[ ] #要同步到模块uid=root#授权的用户gid=root#授权用户所在地组path= /data/app/www.epay.com #模块对应的目录hosts allow = 172.18.1.0/24 #允许同步到主机ip范围read only= no #是否只读

同步本地目录,,让172.18.1.249主机可以同步文件

# chkconfig rsync on

# service xinetd start //xinetd 服务是跟各种小文件传送相关的服务,所以必须启动

# rsync –daemon –config=/etc/rsyncd.conf

创建同步模块对应的目录

# mkdir /data/app/www.epay.com

# chown –R tomcat.tomcat /data/app/www.epay.com

好了,本地做完了,做172.18.1.247自动构建平台上的配置

二、自动构建平台脚本配置

1、创建脚本目录

# cd /data/jenkins/scripts/

# mkidr epay.3194

# cd epay.3194/

# vim epay_3194.sh #自动构建脚本

#!/bin/basheval `dirname$0`/env.shitem=”epay.3194″TESTSERVER=172.18.1.249WORKSPACE=”/data/jenkins/jobs/epay的日志上传/workspace”Test=0#创建中间站,作为导出svn版本包的中转站,导出并解压程序包function init(){cd$WORKSPACEmkdir -p/dev/shm/$itemrm -rf/dev/shm/$item/*TargetPack=`ls-t |grep -P “zip$|war$”|head -n 1`cp -r$WORKSPACE/$TargetPack /dev/shm/$item/cd/dev/shm/$itemunzip$TargetPack >/dev/null 2>&1rm -f$TargetPack 2>/dev/null}#function modify_system_propety(){#local flag#flag=”$1″#system_file=”/dev/shm/$item/WEB-INF/classes/plantform/system.properties”#fromdos$system_file#[ -f$system_file ] && cp/data/jenkins/scripts/epay.3194/conf/system.properties $system_file##}##修改日志文件function modify_log4j(){logfile=”/dev/shm/$item/WEB-INF/classes/log4j.properties”fromdos$logfilemodifycommand=”s@log4j.appender.file.File=.*@log4j.appender.file.File=/data/soft/tomcat_3194/logs/catalina.out@g”[ -f$logfile ] && sed -i “$modifycommand” $logfile}#修改数据库连接function modify_dbconfig() {localflagflag=”$1″if [“x$flag” == “xtest” ]then/bin/cp /data/jenkins/scripts/epay.3194/conf/test/* /dev/shm/$item/WEB-INF/classes/elif [“x$flag” == “xproduct” ]then/bin/cp/data/jenkins/scripts/epay.3194/conf/product/* /dev/shm/$item/WEB-INF/classes/fi}#同步到测试服务器和共享存储function depoly(){local flagflag=”$1″#同步到测试服务器if [“x$flag” == “xtest” ]thendomain=`echo “$TESTDOMAIN”|cut-d: -f1`cd /dev/shm/$item && rsync -lrRptW–delete –contimeout=3 –exclude-from=/etc/list . $TESTSERVER::$domainssh$TESTSERVER “chown -R tomcat.tomcat /data/app/www.epay.com_3194 &&/etc/init.d/tomcat_3194 restart”#port=`echo”$APPDIR”|grep -o -P “\.\d+$”|sed “s/\.//g”`#同步到共享存储elif [“x$flag” == “xproduct” ]thenssh 172.18.3.24 “[ ! -d/mnt/share/deploy/dist/store/www.epay.com.3194 ] && mkdir -p /mnt/share/deploy/dist/store/www.epay.com.3194″cd /dev/shm/$item && rsync -lrRptW–delete –exclude-from=/etc/list .172.18.3.24:/mnt/share/deploy/dist/store/www.epay.com.3194fi}init#modify_system_propetymodify_log4j#Test=0echo $TESTSERVERmodify_dbconfig testdepoly test####同步到共享存储echomodify_dbconfig productdepoly product

# vim env.sh #环境脚本,用来在自动构建平台上发邮件之用

#!/bin/bashecho TESTDOMAIN=”www.epay.com:3194″echo TESTSERVER=”172.18.1.249″echo APPDIR=”/data/app/www.epay.com.3194″echo APPLOG=”/data/soft/tomcat_3194/logs”info=”/tmp/svninfo”/usr/bin/svn log –username superadmin –password’jgxt!%-a.1315’svn://172.18.1.111/CPU/BLD/Server/EPAYLOG/EPAY_LOG_V0.003_20131125 |awk'{RS=”–“;}{if(NR==2){ print $0}}’ > /tmp/svninfochangetime=`grep ‘|’ $info |awk -F’|’ ‘{print $3}’`author=`grep ‘|’ $info |awk -F’|’ ‘{print $2}’`message=`grep -v ‘|’ $info|grep -P -i”v\d\.\d+_?(\d*)”|xargs|sed ‘s/ //g’`messageall=`grep -v ‘|’ $info`echo SVN_COMMIT_MSG=”$message”echo SVN_COMMIT_MSG_ALL=”$messageall”echo SVN_CHANGE_TIME=”$changetime”echo SVN_COMMIT_AUTHOR=”$author”

可以创建一个配置文件的目录,存放其他需要修改的文件

# mkdir conf

# cd conf

# mkdir test 创建测试环境需要的目录

# mkdir product 创建生产环境需要的目录

# cd conf/test

你的选择是做或不做,但不做就永远不会有机会

自动构建平台jenkins使用

相关文章:

你感兴趣的文章:

标签云: