centos7搭建svn服务器 & svn提交同步代码到项目

centos7搭建svn服务器 & svn提交同步代码到项目

本人前端菜鸟一枚,最近在做个人网站,每次修改都要开ftp提交代码到服务器,感觉好麻烦,想到了svn(别问我为什么不是git,因为svn比较好写),于是乎就各种找度娘谈心,零零散散的,最后想想写一篇小白文,希望对后来的初学者有帮助,不用再一步一步查。如有不当,欢迎指点。话不多说,开始了。

系统:centOS 7.2

1、安装svn

使用yum在服务器终端输入命令安装svn

yum install subversion

2、创建资源库

  • 创建资源库的目录
mkdir /home/svn
  • 创建资源库
svnadmin create /home/svn/test

3、修改配置文件

  1. 进入资源库的conf目录
cd /home/svn/test/conf
  1. 修改authz文件,在[groups]下面以及文件最末尾添加如下代码
vi authz
[groups]
#1、创建usr组,并添加用户lzhong和admin,找到[groups]并在下面添加如下代码:
usr = lzhong,admin


#2、给予usr组读写权限,在文件末尾添加如下代码:
[/]
@usr = rw
  1. 修改passwd文件,配置账号密码
vi passwd
[users]
#配置账号和密码:找到[users],然后在下面添加如下代码(账号:lzhong,密码:123456):
lzhong = 123456
admin = 123456
  1. 修改svnserve.conf文件
vi svnserve.conf
#找到如下代码,并删掉行头的#号解除注释(不嫌麻烦的话也可以重写)ヽ( ̄▽ ̄)ノ

#匿名用户,此处原先是anon-access = read,我是因为提交后发现提交记录出错,然后度娘告诉我改成none (╯°Д°)╯
anon-access = none

#授权用户
auth-access = write

#使用passwd文件作为用户列表的配置文件
password-db = passwd

#使用authz作为权限配置文件
authz-db = authz

#认证空间名,版本库所在目录
realm = /home/svn/tools

4、启动svn目录下的资源库

svnserve -d -r /home/svn

如果无法正常启动 先停止svn,
停止所有svn命令为:

killall svnserve

或查找进程,然后再kill进程:

ps aux | grep svn
#假设上行命令查到的进程ID为7237
kill -s 9 7237

注意:svn默认端口为3690,如果要运行多个svnserve可以换一个端口
svnserve -d -r /home/svn/test --listen-port 3691
(记得开放相应的端口)

5、客户端连接svn

windows用户:下载安装svn,创建目录,右键菜单 选择svn checkout

url填写svn://服务器ip地址:端口号/资源库名 (端口默认为3690),例如:
svn://172.16.4.33/test
或
svn://172.16.4.34:3691/test

写好后点击OK,弹出登录弹窗,选一个刚刚在passwd里面配置的账号密码输入
如果无法连接 请开放相对应的端口(如阿里云服务器前往控制台设置安全组即可)

iptables -I INPUT -i eth0 -p tcp --dport 3690 -j ACCEPT
service iptables save

如果因为centOS的版本问题没有iptables
这里推荐一篇 冰 河 大佬的文章《CentOS之——CentOS7安装iptables防火墙》
新人不懂这样算不算侵权,如有侵权,请私聊哈(`・ω・´)

6、提交代码并同步至项目

原本以为提交后可以在资源库看到提交的项目,结果发现并不是,于是乎又和度娘一番谈心,终于明了。

  1. 进入hooks目录复制出一份post-commit文件去除后缀
#这里偷一下懒,直接全局操作
cp /home/svn/test/hooks/post-commit.tmpl /home/svn/test/hooks/post-commit
  1. 修改权限,然后编辑
chmod 775 /home/svn/test/hooks/post-commit

#然后准备编辑
vi /home/svn/test/hooks/post-commit

每次svn提交后都会触发此脚本,因此在里面设置执行svn update命令,在文件末尾添加如下代码

#其中/home/pro/test为项目的路径 后面的username和password两个参数跟账号和密码(前面passwd配置的)
export LANG=en_US.UTF-8
svn up /home/pro/test --username admin --password 123456 --no-auth-cache

# 接下来可以在下面写一些自动部署的命令之类的
  1. 在服务器上执行svn checkout要部署的项目根目录(其实这里才应该是第一步,但是这不重要)
svn co svn://localhost/test /home/pro/test --username admin --password 123456

好了,到此结束,希望能帮到大家。
_φ(❐_❐✧

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在CentOS上离线搭建SVN服务器,需要按照以下步骤进行操作: 1. 首先,在CentOS服务器上安装必要的软件包和依赖项。由于是离线环境,需要先将相关的软件包下载到一个可访问的计算机上,然后通过U盘或其他外部介质将它们传输到CentOS服务器上。在CentOS服务器上使用以下命令安装软件包: ``` rpm -ivh svn-server-rpm包 ``` 2. 创建一个用于存储SVN仓库的目录,并为其分配合适的权限: ``` mkdir /svn-repo chown -R apache.apache /svn-repo ``` 3. 初始化SVN仓库: ``` svnadmin create /svn-repo/myrepo ``` 4. 配置SVN服务。在`/etc/httpd/conf.d/`目录下创建一个新的配置文件,例如`svn.conf`,并添加以下内容: ``` # SVN 配置 <Location /svn> DAV svn SVNPath /svn-repo/myrepo </Location> ``` 5. 重启Apache服务以应用配置更改: ``` systemctl restart httpd ``` 6. 确保防火墙允许通过HTTP访问SVN服务。可以使用以下命令开放端口80: ``` firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --reload ``` 7. 完成上述步骤后,即可通过浏览器或相应的SVN客户端从其他计算机访问SVN仓库了。 请注意,这只是一个简单的离线搭建SVN服务器的示例步骤。实际操作中可能涉及到更多的细节和配置,具体的步骤可能会有所不同。建议根据自己的实际情况和需求进行相应的调整。 ### 回答2: 要离线搭建CentOS下的SVN服务器,需要以下步骤: 1. 下载SVN软件包:在网络连接正常的环境中,下载最新版本的Subversion软件包,并将其保存到本地或移动存储设备中。 2. 安装CentOS系统:在目标服务器上安装CentOS操作系统,确保操作系统的版本和架构与下载的软件包相匹配。 3. 安装Subversion:将下载的SVN软件包复制到目标服务器,解压并安装。执行相关的安装命令,如使用yum命令安装:sudo yum install subversion。 4. 创建SVN仓库:使用命令行工具,创建一个SVN仓库。在指定的目录中执行命令:svnadmin create /path/to/repository。 5. 配置访问权限:为SVN仓库设置访问权限,确保只有授权的用户可以访问。创建一个authz文件,用于配置用户和组的权限。编辑文件并添加相应的权限规则。 6. 配置SVN服务器:编辑svnserve.conf文件,配置SVN服务器的各项参数。例如,设置SVN服务器监听的端口、启用身份验证等。 7. 启动SVN服务器:执行启动命令,启动SVN服务器。例如,通过命令svnserve -d -r /path/to/repository启动并使其在后台运行。 8. 测试SVN服务器:使用SVN客户端工具,例如TortoiseSVN等,在另一台计算机上测试连接SVN服务器。尝试进行检出、更新和提交等操作,验证服务器是否正常工作。 通过以上步骤,就可以在CentOS服务器上离线搭建一个SVN版本控制系统。 ### 回答3: 要在CentOS上离线搭建SVN服务器,您需要按照以下步骤进行操作: 1. 安装CentOS:首先,确保您已经在离线环境中安装了CentOS操作系统。您可以使用官方的CentOS ISO镜像进行安装。 2. 安装SVN服务器软件:在离线环境中,您需要将SVN服务器软件的安装包下载到离线机器上。您可以从Subversion官方网站或其他可信的软件下载站点下载最新版本的SVN服务器软件安装包。将安装包复制到离线机器上,并使用命令行工具(如yum)安装。 3. 配置SVN服务器:一旦安装了SVN服务器软件,您需要进行相关配置。在离线环境中,您可以编辑SVN服务器的配置文件,通常是在/etc/httpd/conf.d目录下的svn.conf文件。您可以根据实际需求进行配置,如指定版本库的存储位置、访问控制等。 4. 创建SVN版本库:在SVN服务器上创建版本库以存储项目代码。您可以使用svnadmin命令创建版本库,如在命令行中运行"svnadmin create /path/to/repository"来创建名为repository的版本库。 5. 配置访问权限:为了保护SVN版本库中的代码,您需要为其设置访问权限。在离线环境中,您可以在每个项目的conf目录中的svnserve.conf文件中进行配置。通过编辑该文件,您可以控制用户及其对版本库的访问权限。 6. 启动SVN服务器:在离线环境中,您可以启动SVN服务器以便用户可以访问版本库。在命令行中运行"svnserve -d -r /path/to/repository"命令来启动SVN服务器,并将其绑定到指定的版本库路径。 这些步骤将帮助您在CentOS上离线搭建SVN服务器。需要注意的是,在离线环境中,您需要提前准备好所需的软件包及其依赖关系,并保存在本地供安装使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值