linux环境:centos6
svn,Jenkins,Tomcat
大致流程,svn用作代码管理,Jenkins安装svn用来下载代码,使用Jenkins中的ssh远程插件远程登录web服务器,将代码拷贝到web服务器上,重启web进程。
svn:192.168.1.133 Tomcat也在这机器上/usr/local/tomcat
安装步骤:
1.yum安装
yum install -y subversion
2.创建版本库目录(此仅为目录,为后面创建版本库提供存放位置)
mkdir /svn
3.创建svn版本库 project2为你预期的版本库名称,可自定义
svnadmin create /svn/project2
4.配置更改
conf目录下,一共存放三份重要的配置文件,如下:
authz:负责账号权限的管理,控制账号是否读写权限
passwd:负责账号和密码的用户名单管理
svnserve.conf:svn服务器配置文件
修改svnserve.conf(重要)
vi svnserve.conf
原始文件内容,都被注释掉的,我们需要去掉内容前注释即可,如下:
修改passwd文件信息,如下:
修改authz文件信息,如下:
5.启动svn服务器
svnserve -d -r /svn 如果此目录下有多个版本库,会都启动
svnserve -d -r /svn/project2 只启动该库
查看是否成功
可加在开机自启文件中:
6.客户端访问svn服务器
下载svn连接软件,输入地址进行连接:
弹出输入用户名和密码,输入即可访问
Jenkins: 192.168.1.127 安装略
(此机器也需要安装svn,用来下载代码)
在home下创建Jenkins目录,用来存放下载的svn代码:
里面是在svn服务器上存放的一个页面,用作测试:
Jenkins的主目录默认是在/root/.jenkins下,(可以设置,自行百度),里面的workspace/目录,存放的是在Jenkins上创建的任务。
1.配置ssh
点击配置》系统配置: 此功能需安装插件,自行百度。
在此处添加服务器,点击增加:
还需要点击下面的高级:
设置完成可以点击测试按钮,测试一下。然后保存。
2.创建任务
2.配置(重要)
点击刚才创建的任务,然后点击配置:
进入配置页面:
需要注意的是填写Jenkins上需要拷贝文件的时候,路径为Jenkins主目录下的workspace目录下的你所创建的Jenkins任务名字目录下的文件,
如:我的Jenkins主目录为/root/.jenkins 创建的任务名字为123 所以此时需要拷贝的文件如果填写路径,默认会添加/root/.jenkins/workspace/123
远程机器上的脚本:停止Tomcat进程,将Jenkins拷贝的文件放到tomcat中,然后启动Tomcat。
#!/bin/bash
WEBAPP_DIR=/usr/local/tomcat/webapps
BACKUP_DIR=/home/backup
DATE=`date +%y%m%d%H%M`
ID=`ps -ef | grep java | grep tomcat | awk '{print $2}'`
echo $ID
echo "kill tomcat..."
sleep 10
kill -9 $ID
echo "backup file..."
if [ ! -d "$BACKUP_DIR" ];then
mkdir -vp $BACKUP_DIR
fi
mv $WEBAPP_DIR/ROOT $BACKUP_DIR/root$DATE
cd $WEBAPP_DIR
rm -rf ROOT
mkdir ROOT
cp -rf jenkins/* ROOT/
echo "starting tomcat..."
/etc/init.d/tomcat start
测试,找台机器作为svn的客户端,将index,jsp文件上传上去,
查看Tomcat页面:
修改index.jsp文件,上传svn服务器,然后构建Jenkins创建的任务再次查看Tomcat页面。