SVN搭建与自动部署

https://blog.csdn.net/weixin_38676160/article/details/127826487

 

一.安装与基本命令
1.yum安装svn (注意防火墙开发端口号,如果是 云服务器,需要添加安全组开发端口号)
svnserve --version (检测是否安装)

yum install -y subversion 直接安装

yum remove subversion 卸载

2.创建svn资源仓库
svnadmin create svn(仓库名称) 创建svn仓库

3.有以下几个配置文件 conf db format hooks locks README.txt
在conf中 authz #权限配置文件 在[groups]下面加入: [/]

= rw #所有用户有读写权限 dangerman = ##危险分子?什么是危险分子?没有任何权限 [svndir:/] ###定义目录,项目的根目录

passwd #用户名密码文件
在[users]中加上 yunwei(名称) = 123456(密码)
svnserve.conf #资源库配置文件
这个配置文件打开下面几行前面的注释,删除最前面的空格:
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = My First Repository
4.启动 查看状态 停止
svnserve -d -r /opt/svn (安装位置) 启动 ps -aux|grep svnserve (查看状态) 关闭 killall svnserve

5.克隆 更新 查看 等
svn co(checkout) $url(svn://xx.xxx.xxx.xxx/test) 文件夹名 #拉取项目 svn log -l 5 查看 svn 文件的最近5条记录

6.SVN中 trunk(主分支) branchs(分支) tags(标记) 的区别
branch 和tag,对于svn都是使用 copy 实现的,所以他们在默认的权限上和一般的目录没有区别

truck(主分支):是用来做主方向开发的,新功能的开发应放在主线中,当模块开发完成后,需要修改,就用branch。

branch(分支):分支开发和主线开发是可以同时进行的,也就是并行开发,分支通常用于修复bug时使用

tag(标记):用于标记某个可用的版本,可以标记已经上线发布的版本,也可以标记正在测试的版本,通常是只读的

7.友情链接
菜鸟教程

二.自动部署项目
1.第一种情况:部署的项目和svn在同一服务器时
在 svn 目录的 /hooks 里面有一堆tmpl,这些tmpl可以做很多事情 自动部署post-commit.tmpl tmpl文件是模版文件

①. 要用post-commit需要手动复制一份

cp post-commit.tmpl post-commit
②.post-commit文件内容如下

!/bin/sh #其中第一行意思是:用sh来解析这个脚本,因为各种shell的语法有细微的差别
export LANG=zh_CN.UTF-8 #第二行是编码格式:这里我使用的是UTF-8
/usr/bin/svn update --username **** --password **** /opt/www/test #最后一行/usr/bin/svn 是svn的路径 后面是用户名、密码、和项目路径
③.修改post-commit的可执行权限

chmod 755 post-commit
④.拉取项目

在服务器进入项目目录/opt/www/test checkout 整个项目;

svn checkout svn://{您的服务器地址}:{端口号}/test . 注意目录后面还有一个点

posted @ 2024-02-29 09:58  zhaoguanhao  阅读(66)  评论(0编辑  收藏  举报