ubuntu16 svn上传代码并自动更新到网站目录

一、检查svn是否安装

使用命令:

svn

如果显示:

Type 'svn help' for usage.

则卸载svn:

sudo apt-get remove --purge subversion

二、安装svn

先更新:

sudo apt-get update

再安装:

sudo apt-get install subversion

三、创建svn版本库

创建总库svn:

sudo mkdir  /home/svn

创建单个库repository:

sudo mkdir  /home/svn/repository

更改repository权限:

sudo chmod -R 777 /home/svn/repository

 创建版本库:

sudo svnadmin create /home/svn/repository

 然后,进入repository目录会看到以下几个文件:

conf  db  format  hooks  locks  README.txt

四、配置文件

在repository目录,对db更改权限:

sudo chmod -R 777 db

进入conf文件夹,有以下几个文件:

authz  hooks-env.tmpl  passwd  svnserve.conf

1、修改配置文件svnserve.conf

vim svnserve.conf

取消以下四个的注释:(要顶格)

anon-access = read          #匿名用户可读

auth-access = write           #权限用户可写

password-db = passwd     #密码文件为passwd

authz-db = authz               #权限文件为authz

2、修改配置文件authz

vim authz

在最末尾添加:

[/]

“你的用户” = rw

3、修改配置文件passwd

vim passwd

在 [users] 下面添加:

"你的用户" = “你的密码”

五、启动服务

svnserve -d -r /home/svn

 查看是否启动成功:

ps aux | grep svnserve

 如果有这一条,则是启动成功

root     14570  0.0  0.1  73488  2840 ?        Ss   01:23   0:00 svnserve -d -r /home/svn

 若想停止服务:

killall svnserve

六、本地拉取服务器svn代码及上传代码

1、拉取:先确保本地安装TortoiseSVN,在你想要的文件夹右键——SVN Checkout——填入svn://你的服务器IP/repository——确定——输入你的用户和你的密码——OK!

2、上传:在当前文件夹修改文件后——右键——SVN Commit——ALL(全选)——OK

七、服务器更新代码

svn co file:///home/svn/repository/ /var/www/html

其中 /var/www/html 你的网站目录。

这样你就能在 /var/www/html 看到你上传的代码啦~

八、自动更新钩子

每次提交代码后,我们希望服务器能自动更新,因此进入到 /home/svn/repository/hooks 目录,可以看到已经有了一个post-commit文件,但我们要新建一个post-commit

vim post-commit

 输入如下代码,WEB代表你的网站目录,username和password是你的账户和密码

#!/bin/sh
WEB=/var/www/test
export LANG=en_US.UTF-8
sudo svn update $WEB --username zhangsan --password 123456 

最后给文件授权

chmod +x post-commit

这样,每次本地提交,服务器也能更新啦~

猜你喜欢

转载自blog.csdn.net/qq_33514421/article/details/82314462
今日推荐