运用Subversion完成网站自动更新
Subversion概述
概述
Subversion,简称SVN,是一个开放源代码的版别控制体系,相对于的RCS、CVS,采用了分支办理体系。
网站更新拓扑结构
装置WEB服务器(Nginx)
略
装置svn独立服务器----->本地测验服
装置subversion Server
yuminstall subversion –y
创立版别库
mkdir -pv/work/svndata
svnadmin create /work/svndata/web
将网站目录导入版别库
export LANG="zh_CN.UTF-8"
svn import/data/wwwroot/htdocs/ file:///work/svndata/web -m "import"
创立用户暗码
cat >/work/svndata/web/conf/passwd
> [users]
> admin =Leerw2019
> EOF
cat >/work/svndata/web/conf/authz
> [/]
> admin = rw
> EOF
cat >/work/svndata/web/conf/svnserve.conf
> [general]
> anon-access =none
> auth-access =write
> password-db =/work/svndata/web/conf/passwd
> authz-db =/work/svndata/web/conf/authz
> EOF
发动svn服务器
1
svnserve -d -r /work/svndata/
增加敞开发动
1
echo"svnserve -d -r/work/svndata/" >> /etc/rc.local
装备钩子脚本,完成主动同步
vim/work/svndata/web/hooks/post-commit
#!/bin/bash
# Author by:Tommy.Gandolf
#
exportLANG="zh_CN.UTF-8"
SVN_PATH=/usr/bin/svn
WEB_PATH=/data/wwwroot/htdocs
USER_NAME=admin
USER_PASSWD=Leerw2019
$SVN_PATH checkout--username $USER_NAME --password$USER_PASSWD svn://127.0.0.1/web $WEB_PATH
增加履行权限
1
chmod +x /work/svndata/web/hooks/post-commit
设置SVN客户端主动更细Nginx网站目录
Windows下svn客户端运用
下载地址:
http://tortoisesvn.net/downloads.html
Linux下svn客户端的运用
yuminstall subversion –y
svn checkout svn://172.16.100.106/website
本地测验服务器---->外网测验服务器
装备本地到外网测验服务器无暗码登录
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub root@172.16.100.105
ssh172.16.100.105 'date'
能正常显现日志就,就证明装备OK
Rsync同步目录
假定本地测验现已OK,因为本地是内网环境无固定IP,因而现在需求同步到外网服务器,运用rsync长途同步目录
1
# rsync -avz /data/wwwroot/htdocs/ root@172.16.100.105:/data/wwwroot/htdocs_test/--exclude='.svn/' --exclude='.settings/' --exclude='.project'
1
# vim push.sh
脚本内容如下:
#!/bin/bash
# Author by:Tommy.Gandolf
# This script willpush local file to remote Server
LOCAL_FILE=/data/wwwroot/htdocs/
REMOTE_FILE=/data/wwwroot/htdocs_test/
USER=root
REMOTE_IP=172.16.100.105
rsync -avz $LOCAL_FILE$USER@$REMOTE_IP:$REMOTE_FILE --exclude='.svn/' --exclude='.settings/' --exclude='.project'
每次更新OK,只需求履行:sh push.sh 即可更新代码到外网测验服
完成外网测验服务器---->正式服务器的更新
WEB1
外网正式服务器(Rsync服务器端)
装置rsync
wget http://rsync.samba.org/ftp/rsync/src/rsync-3.1.0.tar.gz
tar zxvfrsync-3.1.0.tar.gz
[1] [2] [3] 黑客接单网