阿里云centos7.4安装svn


阿里云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. 服务设置为开机自动启动

  1. CentOS7 的 /etc/rc.d/rc.local 是没有执行权限的,系统建议创建 systemd service 启动服务,于是查看 systemd 里 svn 的配置文件 /lib/systemd/system/svnserve.service,
  
#查看环境变量地址
more  /lib/systemd/system/svnserve.service
![1565852498613](C:\Users\guodong\AppData\Roaming\Typora\typora-user-images\1565852498613.png)
  1. 找到svn 的 service 配置文件 /etc/sysconfig/svnserve 编辑配置文件,修改为svn仓库地址
    vi /etc/sysconfig/svnserve
    将 OPTIONS=”-r /var/svn” 将/var/svn改为svn版本库存放的目录,:wq 保存退出
  1. 然后将服务设置为可用
    systemctl enable svnserve.service
  2. 启动服务:
    systemctl start svnserve.service
  3. 查看服务列表状态
    systemctl list-units --type=service
  4. 重启服务器,查看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 '提交信息'

文章作者: 海东青
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 海东青 !
  目录