使用的是阿里云服务器,Linux 版本 centos7.2。html
1、Linux 安装 SVN,步骤以下:shell
一、yum install subversioncentos
二、输入 rpm -ql subversion 查看安装位置,以下图:安全
三、建立svn版本库目录 服务器
mkdir -p /var/svn/svnrepostcp
四、建立版本库svn
svnadmin create /var/svn/svnrepospost
执行了这个命令以后会在 /var/svn/svnrepos 目录下生成以下这些文件阿里云
五、进入 conf 目录(该svn版本库配置文件)编码
authz 文件是权限控制文件
passwd 是账号密码文件
svnserve.conf SVN 服务配置文件
六、设置账号密码
vi passwd
在 [users] 块中添加用户和密码,格式:账号=密码,如 test=test
七、设置权限
vi authz
在末尾添加以下代码:
[/]
test=rw
意思是版本库的根目录 test 用户对其有读写权限
八、修改 svnserve.conf 文件
vi svnserve.conf
打开下面的几个注释:
anon-access = read #匿名用户可读
auth-access = write #受权用户可写
password-db = passwd #使用哪一个文件做为帐号文件
authz-db = authz #使用哪一个文件做为权限文件
realm = /var/svn/svnrepos # 认证空间名,版本库所在目录
九、启动svn版本库
svnserve -d -r /var/svn/svnrepos
2、win7 系统下链接 SVN
一、安装 SVN 客户端,下载地址:
https://tortoisesvn.net/downloads.html
二、Linux 服务器防火墙开启 3690 端口(SVN 默认端口),阿里云还需设置安全组
添加
firewall-cmd --zone=public --add-port=3690/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
从新载入
firewall-cmd --reload
三、桌面右击选择,SVN Checkout...
在第一栏中输入服务段地址:svn:// ip :3690 /svnrepos(IP 地址加端口号+仓库目录)
第二栏填的是运行出来到本地的目录
选择 OK 以后填入用户名、密码便可
3、 部署项目到 SVN 上,实现本地更新同步到服务器 项目
一、 首先在 win 客户端的tortoiseSVN先创建好项目文件目录,好比 resume
二、进入 SVN 项目仓库钩子所在的目录:
cd /var/svn/svnrepos/hooks/
而后复制备份 post-commit 文件:
cp post-commit.tmpl post-commit
三、假设个人服务器项目文件放在 /var/www/html/
为了可以让SVN仓库同步将项目更新过来,那么首先须要从仓库checkout出项目到该目录下面,
分别执行 shell 命令:
cd /var/www/html
svn co svn://localhost/svnrepos/resume --username test --password test
此时在 html 目录下你将会看到你 checkout 出来的项目了,接下来要开始写触发脚本,实如今win本地上传更新你的项目文件的同时,同步更新仓库内的文件。
在 /var/svn/svnrepos/hooks 目录下打开 post-commit 文件,屏蔽里面全部的未屏蔽代码,在文件最后写入:
export LANG=zh_CN.UTF-8 (设置编码,防止报错)
/usr/bin/svn update --username test --password test /var/www/html/resume(同步更新)
(若出现:post-commit错误代码255,应该是脚本权限不对,赋予777权限便可)