centos7 svn hook 自动同步代码到 web 目录
2018-01-03 01:14
357 查看
非脚本,只是命令合集
#!/usr/bin/env bash ## svn 同步 脚本 ## yum 安装 svn yum install -y subversion >> ~/svn_install_log.log ## 检测安装版本 svnserve --version|grep "版本" echo "创建 svn 仓库目录: /var/svn" mkdir -p /var/svn cd /var/svn pwd echo 创建版本库 svnadmin create /var/svn/project cd project pwd echo "会看到自动生成的版本库文件" ls -al ./ echo "vim /var/svn/project/conf/authz" cat >/var/svn/project/conf/authz<<EOF [groups] alliance = store,wholesaler, logistics,platform [project:/] @alliance = rw EOF echo "vim /var/svn/project/conf/passwd" cat >/var/svn/project/conf/passwd<<EOF [users] store = store wholesaler = wholesaler logistics = logistics platform = platform EOF echo "vim /var/svn/project/conf/svnserve.conf" # anon-access = none //匿名用户访问权限:无 sed -i 's/# anon-access = read/anon-access = none/g' /var/svn/project/conf/svnserve.conf # auth-access = write //普通用户访问权限:读、写 sed -i 's/# auth-access = write/auth-access = write/g' /var/svn/project/conf/svnserve.conf # password-db = passwd //密码文件 sed -i 's/# password-db = passwd/password-db = passwd/g' /var/svn/project/conf/svnserve.conf # authz-db = authz //权限配置文件 sed -i 's/# authz-db = authz/authz-db = authz/g' /var/svn/project/conf/svnserve.conf # realm = /var/svn/project //版本库所在1 sed -i 's/# realm = My First Repository/realm = \/var\/svn\/project/g' /var/svn/project/conf/svnserve.conf #### 注意:所有以上的配置项都需要顶格,即前面不能预留空格,否则报错 #### echo "启动svn服务:" killall svnserve svnserve -d -r /var/svn echo "测试服务器" mkdir -p /home/wwwroot/svntest # 这里的目录应该随自己项目做出修改 cd /home/wwwroot/svntest # 如果手动检出可以这样 # svn co svn://localhost/project --username store # 手动输入密码,或在脚本中这样写: svn co svn://localhost/project --username store --password store <<EOF yes EOF ## svn 客户端存储文本密码 sed -i 's/# store-plaintext-passwords = no/store-plaintext-passwords = yes/g' /root/.subversion/servers cd project touch README.md svn add README.md svn commit README.md -m "测试提交文件" ## 下面添加 post hook cat >/var/svn/project/hooks/post-commit<<EOF #!/bin/sh export LANG=en_US.utf8 SVN_PATH=/usr/bin/svn WEB_PATH=/home/wwwroot/svntest/project \$SVN_PATH update \$WEB_PATH --username 'store' --password 'store' --no-auth-cache EOF ## 修改 hook 脚本用户、组 为www,这里的用户组与 web 目录要一致 chown www:www /var/svn/project/hooks/post-commit ## 添加执行权限 chmod 755 /var/svn/project/hooks/post-commit ## 下面检验成果 mkdir -p /home/wwwroot/testhook cd /home/wwwroot/testhook svn co svn://localhost/project --username wholesaler --password wholesaler <<EOF yes EOF cd project touch HOOKTEST.md svn add HOOKTEST.md svn commit HOOKTEST.md -m "hook test" ls -al /home/wwwroot/svntest/project
ps:经过测试功能木有问题,已经改过一些地方,还是有些不尽人意的地方,今天太晚了,该休息了,就这样吧。
相关文章推荐
- Centos7下搭建SVN服务,本地提交代码自动同步到WEB目录
- Linux CentOS SVN 设置钩子hooks/post-commit来同步更新服务器web目录,实现代码自动部署
- CentOS6.8 搭建SVN并用钩子自动实现同步到web目录
- Centos7上搭建SVN服务器并实现自动同步至web目录
- Centos上搭建SVN服务器并实现自动同步至web目录
- CentOS 创建SVN 服务器,并且自动同步到WEB 目录
- CentOS下安装配置SVN服务器并自动同步到web目录
- CentOS 创建SVN 服务器,并且自动同步到WEB 目录
- svn服务器的搭建以及利用svn hook与web根目录同步
- git/svn钩子自动同步web目录
- LinuxSvn服务器搭建之代码同步web目录
- svn利用钩子脚本功能实现代码同步到web目录 推荐
- linux环境下svn提交自动同步到web目录
- Centos下SVN安装以及同步到web目录
- win环境下SVN利用钩子实现代码同步到WEB目录
- CentOS利用WebHook实现PHP自动部署Git代码
- centos下配置svn服务器并同步web目录
- centos7配置svn钩子hooks脚本自动同步代码到项目目录
- SVN 提交后自动同步到 web 的根目录
- CentOS安装配置svn,并配置SVN自动更新Web目录