Linux 部署 SVN 并同步 web 項目
2017-12-06 00:00
190 查看
使用的是阿里云服务器,Linux 版本 centos7.2。
一、Linux 安装 SVN,步骤如下:
1、yum install subversion
2、输入 rpm -ql subversion 查看安装位置,如下图:
![](https://static.oschina.net/uploads/space/2017/1206/170229_Pu5e_3460260.png)
3、创建svn版本库目录
mkdir -p /var/svn/svnrepos
4、创建版本库
svnadmin create /var/svn/svnrepos
执行了这个命令之后会在 /var/svn/svnrepos 目录下生成如下这些文件
![](https://static.oschina.net/uploads/space/2017/1206/170719_3ANh_3460260.png)
5、进入 conf 目录(该svn版本库配置文件)
authz 文件是权限控制文件
passwd 是帐号密码文件
svnserve.conf SVN 服务配置文件
6、设置帐号密码
vi passwd
在 [users] 块中添加用户和密码,格式:帐号=密码,如 test=test
7、设置权限
vi authz
在末尾添加如下代码:
[/]
test=rw
意思是版本库的根目录 test 用户对其有读写权限
8、修改 svnserve.conf 文件
vi svnserve.conf
打开下面的几个注释:
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /var/svn/svnrepos # 认证空间名,版本库所在目录
9、启动svn版本库
svnserve -d -r /var/svn/svnrepos
二、win7 系统下连接 SVN
1、安装 SVN 客户端,下载地址:
https://tortoisesvn.net/downloads.html
2、Linux 服务器防火墙开启 3690 端口(SVN 默认端口),阿里云还需设置安全组
添加
firewall-cmd --zone=public --add-port=3690/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload
3、桌面右击选择,SVN Checkout...
![](https://static.oschina.net/uploads/space/2017/1206/172029_Ph7p_3460260.png)
在第一栏中输入服务段地址:svn:// ip :3690 /svnrepos(IP 地址加端口号+仓库目录)
第二栏填的是运行出来到本地的目录
选择 OK 之后填入用户名、密码即可
三、 部署项目到 SVN 上,实现本地更新同步到服务器 项目
1、 首先在 win 客户端的tortoiseSVN先建立好项目文件目录,比如 resume
![](https://static.oschina.net/uploads/space/2017/1206/172423_0etR_3460260.png)
2、进入 SVN 项目仓库钩子所在的目录:
cd /var/svn/svnrepos/hooks/
然后复制备份 post-commit 文件:
cp post-commit.tmpl post-commit
3、假设我的服务器项目文件放在 /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权限即可)
一、Linux 安装 SVN,步骤如下:
1、yum install subversion
2、输入 rpm -ql subversion 查看安装位置,如下图:
![](https://static.oschina.net/uploads/space/2017/1206/170229_Pu5e_3460260.png)
3、创建svn版本库目录
mkdir -p /var/svn/svnrepos
4、创建版本库
svnadmin create /var/svn/svnrepos
执行了这个命令之后会在 /var/svn/svnrepos 目录下生成如下这些文件
![](https://static.oschina.net/uploads/space/2017/1206/170719_3ANh_3460260.png)
5、进入 conf 目录(该svn版本库配置文件)
authz 文件是权限控制文件
passwd 是帐号密码文件
svnserve.conf SVN 服务配置文件
6、设置帐号密码
vi passwd
在 [users] 块中添加用户和密码,格式:帐号=密码,如 test=test
7、设置权限
vi authz
在末尾添加如下代码:
[/]
test=rw
意思是版本库的根目录 test 用户对其有读写权限
8、修改 svnserve.conf 文件
vi svnserve.conf
打开下面的几个注释:
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /var/svn/svnrepos # 认证空间名,版本库所在目录
9、启动svn版本库
svnserve -d -r /var/svn/svnrepos
二、win7 系统下连接 SVN
1、安装 SVN 客户端,下载地址:
https://tortoisesvn.net/downloads.html
2、Linux 服务器防火墙开启 3690 端口(SVN 默认端口),阿里云还需设置安全组
添加
firewall-cmd --zone=public --add-port=3690/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload
3、桌面右击选择,SVN Checkout...
![](https://static.oschina.net/uploads/space/2017/1206/172029_Ph7p_3460260.png)
在第一栏中输入服务段地址:svn:// ip :3690 /svnrepos(IP 地址加端口号+仓库目录)
第二栏填的是运行出来到本地的目录
选择 OK 之后填入用户名、密码即可
三、 部署项目到 SVN 上,实现本地更新同步到服务器 项目
1、 首先在 win 客户端的tortoiseSVN先建立好项目文件目录,比如 resume
![](https://static.oschina.net/uploads/space/2017/1206/172423_0etR_3460260.png)
2、进入 SVN 项目仓库钩子所在的目录:
cd /var/svn/svnrepos/hooks/
然后复制备份 post-commit 文件:
cp post-commit.tmpl post-commit
3、假设我的服务器项目文件放在 /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权限即可)
相关文章推荐
- Linux下SVN部署/安全及权限配置,实现web同步更新
- Linux下SVN部署/安全及权限配置,实现web同步更新
- Linux下SVN部署/安全及权限配置,实现web同步更新
- Linux下SVN部署/安全及权限配置,实现web同步更新
- Linux下SVN部署/安全及权限配置,实现web同步更新
- Linux下SVN部署Web版本同步
- Linux下SVN部署/安全及权限配置,实现web同步更新
- Linux CentOS SVN 设置钩子hooks/post-commit来同步更新服务器web目录,实现代码自动部署
- CentOS 6.3下Apache+SVN部署Web版本同步
- linux下通过yum安装svn及实现SVN与WEB同步解决方案[阿里云]
- 【LINUX】SVN 代码提交之后。同步到web目录下
- Linux下代码从SVN服务器到web服务器的自动化部署[svn update $WEB --username mrwei --password jiaowomrwei]
- 记--linux 下svn安装配置,同步web目录
- 转载:linux系统下SVN同步文件到WEB目录
- LinuxSvn服务器搭建之代码同步web目录
- LINUX下SVN安装,配置,web目录同步
- centos6.5部署svn服务器并同步到同机器的web目录
- linux SVN服务器部署――Subversion及web控制台Submin部署
- linux资料整理之ubuntu配置svn服务器并且同步更新web目录
- linux环境下svn提交自动同步到web目录