centos下搭建SVN服务器 并且自动发布代码
2013-03-20 19:11
246 查看
1:安装,安装其实非常简单
#yum install subversion
测试是否安装成功
#svnserve --version
如果显示了版本信息则表示安装成功
2:配置
svn配置建立svn版本库目录可建多个:
新建一个版本库目录 名字为repos
#mkdir -p /opt/svndata/repos
建立svn版本库:
#svnadmin create /opt/svndata/repos
修改svn版本库配置文件版本库:
# vim /opt/svndata/repos/conf/svnserve.conf
内容修改为:
[general]
anon-access = none
auth-access = write
password-db = /opt/svn/conf/passwd.conf
authz-db = /opt/svn/conf/authz.conf
realm = repos
注重:对用户配置文件的修改立即生效,不必重启svn。
#vim /opt/svn/conf/passwd.conf
[users]
username = password
这里是配置用户名与密码
配置svn用户访问权限:
# vim /opt/svn/conf/authz.conf
注重:
* 权限配置文件中出现的用户名必须已在用户配置文件中定义。
* 对权限配置文件的修改立即生效,不必重启svn。
用户组格式:
[groups]
= ,
其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
其中,方框号内部分可以有多种写法:
[/],表示根目录及以下,根目录是svnserve启动时指定的,我们指定为/opt/svndata,[/]就是表示对全部版本库设置权限。
[repos:/] 表示对版本库repos设置权限
[repos2:/abc] 表示对版本库repos2中的abc项目设置权限
[repos2:/abc/aaa] 表示对版本库repos2中的abc项目的aaa目录设置权限
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。
权限可以是w、r、wr和空,空表示没有任何权限。
示例:
[groups]
admin = alan
[/]
@admin = rw
[repos1:/abc/aaa]
king = rw
[repos2:/pass]
king =
svn 配置完毕。
启动svn建立启动svn的用户
# useradd svn
# passwd svn
根据提示,为用户svn设置密码
允许用户svn访问版本库:
# chown -R svn:svn /opt/svndata
启动svn
# su – svn -c ”svnserve -d -r /opt/svndata“
注意:有时候这个命令执行不成功是因为你直接复制造成的,把那两个双引号改为英文的双引号就行了
其中:
su – svn表示以用户svn的身份启动svn
-d表示以daemon方式(后台运行)运行
-r /opt/svndata指定根目录是/opt/svndata
好SVN已经启动了,你可以通过svn://ip地址/repos 这种方式来访问了
接下来就是如何将SVN中的代码同步到WEB根目录了
其实很简单,只要写个脚本定时checkout就行了
下面就来写这个脚本
#vim tongbu.sh
#!/bin/sh
while true
do
svn checkout svn://127.0.0.1/repos >/dev/null 2 >& 1
sleep 5
done
其中svn://127.0.0.1/repos就是你的SVN服务器地址与版本库
然后将这个SH文件放到你的WEB目录,比如/opt/www目录下
然后
#chmod +x tongbu.sh
#./tongbu.sh
这时候会让你输入SVN用户名密码,输入完成这个脚本就会每5秒钟同步一次,但是他还不是在后台运行,只要你退出 这个脚本就停止了
那么先ctrl+c停止,然后用
#nohup ./tongbu.sh &
让他去后台运行,这样就OK拉
另外一个要说的是,有时候发现你的SVN连不上,也许是因为端口被防火墙墙掉的缘故
SVN默认端口为3690 你可以去iptable里面将他开放
#yum install subversion
测试是否安装成功
#svnserve --version
如果显示了版本信息则表示安装成功
2:配置
svn配置建立svn版本库目录可建多个:
新建一个版本库目录 名字为repos
#mkdir -p /opt/svndata/repos
建立svn版本库:
#svnadmin create /opt/svndata/repos
修改svn版本库配置文件版本库:
# vim /opt/svndata/repos/conf/svnserve.conf
内容修改为:
[general]
anon-access = none
auth-access = write
password-db = /opt/svn/conf/passwd.conf
authz-db = /opt/svn/conf/authz.conf
realm = repos
注重:对用户配置文件的修改立即生效,不必重启svn。
#vim /opt/svn/conf/passwd.conf
[users]
username = password
这里是配置用户名与密码
配置svn用户访问权限:
# vim /opt/svn/conf/authz.conf
注重:
* 权限配置文件中出现的用户名必须已在用户配置文件中定义。
* 对权限配置文件的修改立即生效,不必重启svn。
用户组格式:
[groups]
= ,
其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
其中,方框号内部分可以有多种写法:
[/],表示根目录及以下,根目录是svnserve启动时指定的,我们指定为/opt/svndata,[/]就是表示对全部版本库设置权限。
[repos:/] 表示对版本库repos设置权限
[repos2:/abc] 表示对版本库repos2中的abc项目设置权限
[repos2:/abc/aaa] 表示对版本库repos2中的abc项目的aaa目录设置权限
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。
权限可以是w、r、wr和空,空表示没有任何权限。
示例:
[groups]
admin = alan
[/]
@admin = rw
[repos1:/abc/aaa]
king = rw
[repos2:/pass]
king =
svn 配置完毕。
启动svn建立启动svn的用户
# useradd svn
# passwd svn
根据提示,为用户svn设置密码
允许用户svn访问版本库:
# chown -R svn:svn /opt/svndata
启动svn
# su – svn -c ”svnserve -d -r /opt/svndata“
注意:有时候这个命令执行不成功是因为你直接复制造成的,把那两个双引号改为英文的双引号就行了
其中:
su – svn表示以用户svn的身份启动svn
-d表示以daemon方式(后台运行)运行
-r /opt/svndata指定根目录是/opt/svndata
好SVN已经启动了,你可以通过svn://ip地址/repos 这种方式来访问了
接下来就是如何将SVN中的代码同步到WEB根目录了
其实很简单,只要写个脚本定时checkout就行了
下面就来写这个脚本
#vim tongbu.sh
#!/bin/sh
while true
do
svn checkout svn://127.0.0.1/repos >/dev/null 2 >& 1
sleep 5
done
其中svn://127.0.0.1/repos就是你的SVN服务器地址与版本库
然后将这个SH文件放到你的WEB目录,比如/opt/www目录下
然后
#chmod +x tongbu.sh
#./tongbu.sh
这时候会让你输入SVN用户名密码,输入完成这个脚本就会每5秒钟同步一次,但是他还不是在后台运行,只要你退出 这个脚本就停止了
那么先ctrl+c停止,然后用
#nohup ./tongbu.sh &
让他去后台运行,这样就OK拉
另外一个要说的是,有时候发现你的SVN连不上,也许是因为端口被防火墙墙掉的缘故
SVN默认端口为3690 你可以去iptable里面将他开放
相关文章推荐
- centos下搭建SVN服务器 并且自动发布代码
- centOS 搭建SVN服务器,提交自动发布代码,详细教程,及注意事项
- 如何搭建一台 通过SVN 提交代码自动发布的 nodeJs 服务器.
- centOs6.5 SVN 服务器搭建并实现提交自动同步到web服务器
- CentOS 创建SVN 服务器,并且自动同步到WEB 目录
- CENTOS 搭建SVN服务器(附自动部署到远程WEB)
- Linux下搭建SVN服务器及自动更新项目文件到web发布目录(wwwroot)的方法
- CentOS系统下Apache Ant自动从SVN获取代码并通过Tomcat集群发布工程
- Linux CentOS SVN 设置钩子hooks/post-commit来同步更新服务器web目录,实现代码自动部署
- Centos7上搭建SVN服务器并实现自动同步至web目录
- centos6.5下svn的搭建配置,以及自动更新代码
- 在CentOS中搭建服务器环境并且发布war包
- 详解CentOS的SVN服务器搭建与自动部署全过程
- Centos7下搭建SVN服务,本地提交代码自动同步到WEB目录
- Linux下搭建SVN服务器及自动更新项目文件到web发布目录(www)
- Linux搭建SVN服务器及服务端代码自动更新
- Centos6.5 搭建 SVN 服务器 及 钩子同步更新网站代码
- CentOS系统下Apache Ant自动从SVN获取代码并通过Tomcat集群发布工程
- CentOS 创建SVN 服务器,并且自动同步到WEB 目录
- Centos下搭建svn并且和web服务器同步