阿里云centos7.4安装svn
1. 安装svn
yum install subversion
2. 创建仓库目录
mkdir /home/svn
cd /home/svn
mkdir blog
svnadmin create blog
3. 进入svn仓库,修改svn配置文件,设置用户和用户权限
· 修改conf文件,如下图标注红色的#号去掉
cd blog/conf/
vim svnserve.conf
· 修改“passwd”文件添加用户名=密码信息
vi passwd
· 修改权限配置authz,赋予用户读写权限
vi authz
· 创建svn钩子,可选择,实现先上代码实时部署
cd /home/svn/blog/hooks
创建post-commit文本,写入如下内容
#!/bin/sh
#修改字符编码
#export LANG=en_US.UTF-8 #svn编码是UTF-8,这个主要是防止乱码
#REPOS="$1"
#REV="$2"
#SVN="/usr/bin/svn"
#WEB="/var/www/web/" #站点目录
#update the code from the SVN
#$SVN update $WEB --username=fuguodong --password=fuguodong --non-interactive --no-auth-cache #设置登陆账号密码并不缓存
4. 启动svn,默认端口3690
killall svnserve
svnserve -d -r /home/svn
stop svnserve
svnserve -d -r /home/svn/blog
#查看运行状态
ps -ef | grep svn
#查看端口状态
netstat -ln | grep 3690
5. svn钩子实现线上自动部署
进入线上项目目录
cd /var/www/web
检出代码
svn checkout svn://47.105.196.203/blog/public ./
```
6. 本地访问
svn://47.105.196.203/blog/
http://47.105.196.203:3690/svn/blog
7. 如果无法访问,检查svn端口配置,在阿里云服务器安全组将3690添加到安全组
8. 服务设置为开机自动启动
- CentOS7 的 /etc/rc.d/rc.local 是没有执行权限的,系统建议创建 systemd service 启动服务,于是查看 systemd 里 svn 的配置文件 /lib/systemd/system/svnserve.service,
#查看环境变量地址
more /lib/systemd/system/svnserve.service

- 找到svn 的 service 配置文件 /etc/sysconfig/svnserve 编辑配置文件,修改为svn仓库地址
将 OPTIONS=”-r /var/svn” 将/var/svn改为svn版本库存放的目录,:wq 保存退出vi /etc/sysconfig/svnserve
- 然后将服务设置为可用
systemctl enable svnserve.service
- 启动服务:
systemctl start svnserve.service
- 查看服务列表状态
systemctl list-units --type=service
- 重启服务器,查看svn开启状态
ps -aux | grep 'svn'
自动启动成功!
9. svn钩子hooks实现自动部署web项目
usr/www/html/检出we项目
svn checkout svn://47.10ß5.196.203/blog/myblog/public ./
修改post-commit文件为:
#!/bin/sh
REPOS="$1"
REV="$2"
DIR="/var/www/html"
export LANG=en_US.UTF-8
CURDATE='date'
echo "Code Deployed By at $CURDATE,$REPOS,$REV" >> /var/www/deploylog/deploylog.log
svn update $DIR --username fuguodong --password fuguodong
手工更新
svn update /var/www/html --username fuguodong --password fuguodong
svn常用命令
svn add . --no-ignore --force
svn commit -m '提交信息'