当前位置:首页 > 技术 > 服务器运维 > linux部署svn及钩子hooks自动部署

linux部署svn及钩子hooks自动部署

DChen3年前 (2021-03-21)服务器运维2.04 K0
1、优势(功能):
     代码备份、代码还原、协同修改、多版本项目文件管理、追溯问题代码的编写人和编写时间权限控制。
2、概念理解:
repository(源代码库)
     源代码统一存放的地方
checkout(提取)
     当你手上没有源代码的时候,你需要从repository checkout一份
commit(提交)
     当你已经修改了代码,你就需要Commit到repository
update(更新)
当你已经Checkout了一份源代码, Update一下你就可以和Repository上的源代码同步,你手上的代码就会有最新的变更

3、subversion安装:

$ yum install -y subversion
$ svn --version          // 查看版本

4、创建版本库(根目录以:/var/svn/为例,以:/var/svn/test为某一个仓库)

$ mkdir -p /var/svn/test
$ svnadmin create /var/svn/test
// 执行后可看到仓库下有如下目录
conf          // 配置文件夹
db            // 数据库文件夹
hooks         // 钩子程序(触发器)
locks         // 文件锁定相关
format        // 
README.txt    //

5、配置用户权限

$ vi /var/svn/test/conf/svnserve.conf
# anon-access = read     // 开启并修改成anon-access = none(设置匿名不能访问),如果是read则不会显示日志出来
# auth-access = write    // 开启权限认证(去掉前面#)
# password-db = passwd   // 开启用户配置信息存放文件
# authz-db = authz       // 开启存放授权信息文件
:wq
$ vi /var/svn/test/conf/passwd
// 账号=密码
zs=123
ls=123
ww=123
:wq
$ vi /var/svn/test/conf/authz
[groups]                 // 设置分组下的用户
kaifa = zs,ls
ceshi = ww
[/]                      // 指定目录下给定的权限(修改为/)
@kaifa = rw              // 按分组分(@表示分组)
@ceshi = r

6、windows注册svn服务(linux服务器可忽略)

sc create SVNServer binpath= "svnserver.exe(的路径) --service -r "仓库根目录"  start= auto depend= Tcpip

7、启动SVN

$ svnserve -d -r /var/svn/test     // -d:声明后台启动 -r:声明版本库根目录
$ ps -ef | grep svn

8、使用SVN

$ cd /var/www/test
$ svn checkout svn://localhost/test     // 检出数据 
$ svn update [文件名]                      // 拉取更新数据[指定拉取的文件]
$ svn commit -m "提交日志"                 // 提交更新文件到服务端(文件第一次体检需要SVN add 指定文件将其加入提交区)

9、配置钩子程序

$ cd /var/svn/test/hooks/
$ vi post-commit
#!/bin/sh
REPOS="$1"
REV="$2"
export LANG=en_US.UTF-8        //设置编码(自行处理编码)
WEB=/var/www/sPlant-C          //web项目目录
SVN=/usr/bin/svn               //svn文件
//下面提供两种方式,选择一种即可
$SVN update $WEB --username $user --password $password --no-auth-cache    //设置登录账号密码并不缓存
或者
$SVN co svn://localhost/test $WEB --username $user --password $password --no-auth-cache    //可实现不需要再站点目录下先checkout



取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

版权声明:本文由“憨小猪”发布,如需转载请注明出处。

本文链接:https://www.phper.red/post/28.html

标签: svnlinuxhooks

相关文章

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。