当前位置: 首页 > 后端技术 > PHP

Linux安装SVN实现自动同步到Web目录

时间:2023-03-29 17:07:18 PHP

个人博客:Linux安装SVN实现自动同步到web目录一:安装SVN1,检查服务器是否安装了SVNsvn--versioninstalled:svn,version1.6.11(r934486)compiledAug172015,08:37:43版权所有(C)2000-2009CollabNet。Subversion是开源软件,请参见http://subversion.tigris.org/本产品包括由CollabNet(http://www.Collab.Net/)开发的软件。以下存储库访问(RA)模块可用:*ra_neon:使用Neon通过WebDAV协议访问存储库的模块。-处理“http”方案-处理“https”方案*ra_svn:使用svn网络协议访问存储库的模块。-使用CyrusSASL身份验证-处理“svn”方案*ra_local:用于访问本地磁盘上的存储库的模块。-handles'file'schemenotinstalled:-bash:svn:commandnotfound2,notinstalled使用yum安装yuminstallsubversion3,创建仓库目录(仓库目录可以换成其他目录,看你的意愿)mkdir–p/svn4,创建项目版本Librarysvnadmincreate/svn/davesvn--davesvn为版本库名称5、创建成功后,进入版本库目录cd/svn/davesvnls查看目录下生成的文件。一个整数文件,这个整数代表libraryhierarchyversionhooks存放versionlibraryhook子目录locksrepositorylock目录,用于跟踪库访问者README.txt6,然后开始配置SVNcdconflsauthz|权限配置文件passwd|用户名密码文件svnserve.conf|svn服务配置文件//配置密码XXX=XXXvimpassword[users]zhan=123456//配置权限XXX=XXXvimauthz[/]zhan=rw//配置svnserve.conf取消下面注释注意不要有空格vimsvnserve.confanon-access=read#匿名用户可以读auth-access=write#授权用户可以写password-db=passwd#哪个文件作为账户文件authz-db=authz#哪个文件作为权限filerealm=/svn/davesvn#认证空间名,版本库所在目录7、启动SVN服务svnserve-d-r/svn/davesvn-d表示后台运行-r指定目录为/svn/davesvn如果提示:svnserve:Can'tbindserversocket:Addressalreadyinuse说明服务已经启动,先停止服务ps-ef|grepsvnkill-9[进程号]kill进程2,实现项目1的自动部署,使用post-commit实现自动部署,在/svn/下创建post-commit文件,在davesvn/hooks下设置可执行权限cppost-commit.tmplpost-commitchmod755post-commit2,打开post-commit文件,清除post-commit内容,添加以下内容!/bin/shexportLANG=zh_CN.UTF-8svncosvn://[你的ip地址]/davesvn[WEB实际目录]LOG_PATH=/tmp/svn_test.logWEB=[WEB实际目录]REPOS="$1"REV="$2"svnupdate--username[刚刚设置的SVN用户名]--password[刚刚设置的SVN密码]$WEB--no-auth-cache>>$LOG_PATH3,最后返回shellsvncosvn://你的ip/davesvn【WEB目录】按照提示输入账号密码,实现自动同步3.使用SVN签出:检查svn://服务器IP:3690/davesvn是否可以正常签出,然后提交检查是否WEB目录实现同步内容行坑:svnerror:post-commithookfailed(exitcode1)withoutput.1,检查post-commit中设置的字符编码是否正确。原来是#exportLANG=zh_CN.GBK改为exportLANG=en_US.UTF-8(svnserver默认是utf8)2、查看post-commit设置的账号密码和SVN配置中的账号密码是否一致都正确3、255错误:post-commit是否给了执行权限4、检查服务器的3690端口是否开放4、不管做什么,最重要的是要小心,看错误信息,不要恐慌