Liunx服务器搭建SVN服务,并通过钩子实现代码自动部署

简介: Liunx服务器搭建SVN服务,并通过钩子实现代码自动部署

原文连接:https://www.rocschool.com/tutorial/rocschool-show-118.html

他这里面有好多坑,所以我整理了一分更详细的

我们来开始安装SVN服务器版本端,在宝塔里有SSH终端管理器,可以直接进行命令输入

安装SVN步骤

1、先要安装svn版本控制软件,需要在SSH命令控制器处输入命令安装,很简单。如:

句法 (Syntax)

yum -y install subversion

图:

2、安装好后,我们需要建立SVN存放目录。如:

句法 (Syntax)

mkdir /www/svndata

创建好后如下

3、建立好存放目录后,我们需要在svn安装目录下启动svn,将SVN绑定到/www/svndata目录

句法 (Syntax)

svnserve -d -r /www/svndata

4、启动好后,在创建一个新的版本库,在原创建的svndata下增加。如:rocschool

句法 (Syntax)

svnadmin create /www/svndata/rocschool

创建好后如图

打开文件后如下图

这时我们完成了创建过程,下面我们将要配置一下方可使用

5、我们需要配置svn访问帐号及密码

在宝塔打开文件目录/www/svndata/rocschool/conf/目录下的password文件,双击打开,然后添加访问账号密码

如:

在# sally = sallyssecret下回车换行输入:帐号 = 密码 如:rocschool = 123456 然后点击保存。

可以添加多个帐号及密码,每行一个密码及密码,如:

rocschool = 123456

rocschool2 = 123456

rocschool3 = 123456

6、给添加的帐号及密码设置访问权限,打开文件svnserve.conf

如设置如下四个前面的#及空格号注释去掉

anon-access = read

auth-access = write

password-db = passwd

authz-db = authz

说明:

匿名用户权限(none:拒绝, write:读写, read:只读权限)

anon-access = none

鉴权用户访问

auth-access = write

用户信息配置文件(也可以是绝对路径)

password-db = passwd

权限配置文件

authz-db = /source/svn/project/conf/authz

配置好后如下图:

7、/www/svndata/rocschool/hooks/目录下新建一个空白文件,名称为:post-commit 文件,用于配置将svn中的文件同步到您的网站运行目录下

文件里配置如下:

句法 (Syntax)

#!/bin/sh

export.utf8

SVN_PATH=/usr/bin/svn

WEB_PATH=/www/wwwroot/www.rocschool.com

$SVN_PATH update $WEB_PATH --username ‘rocschool’ --password ‘123456’ --no-auth-cache

说明:SVN_PATH为SVN安装目录

WEB_PATH为同步到网站运营目录

其它为配置的帐号密码,这个需要填写您设置的帐号密码进入绑定同步,如刚才我们在/www/svndata/rocschool/conf/password里配置的帐号密码

8、如上完成后,我们需要在SSH终端里输入命令进行同步,把SVN同步库文件到你的网站目录下,如我们配置的/www/wwwroot/www.rocschool.com目录

如果您不进行同步到目录,他是无法进行关联的,你在本地管理软件检出时无法获取到他同步的网站目录下,所以这一步不可少。如下方法操作

句法 (Syntax)

svn checkout svn://47...*/rocschool /www/wwwroot/www.rocschool.com --username rocschool --password 123456

如果如上出错,您可以去掉帐号密码,如下

句法 (Syntax)

svn checkout svn://47...*/rocschool /www/wwwroot/www.rocschool.com

意思为同步服务器svn://47...*/rocschool至/www/wwwroot/www.rocschool.com 目录下 帐号为rocschool 密码为123456

svn://改为你的服务器IP/rocschool 这个是我们服务器建立版本库链接地址,即是服务器地址/www/svndata/rocschool/同时他同步到了你的网站目录下/www/wwwroot/www.rocschool.com

9、完成如上内容后,我们即可在我们本地电脑新建一个目录,然后右键检出内容了,这样就可以增加删除同步服务器网站内容

输入SVN版本库URL进行链接检出操作,然后确定输入帐号及密码后即可。

检出后就可以进行文件增加、修改、提交等操作了。

其中config文件有好多问题,详细的我贴在下面供大家参考。

authz

[groups]
[/]
rocschool=rw

password

[users]
rocschool=123456

serversvn.conf

[general]
anon-access=read
auth-access=write
password-db=passwd
authz-db=authz

还有一个文件post-commit

#!/bin/sh
export LANG=en_US.UTF-8
SVN_PATH=/usr/bin/svn
WEB_PATH=/www/wwwroot/www.rocschool.com
$SVN_PATH update $WEB_PATH --username 'rocschool' --password '123456' --no-auth-cache

感谢大家观看,我们下次见

目录
相关文章
|
1月前
|
弹性计算 监控 负载均衡
|
2月前
|
Prometheus Kubernetes 监控
k8s部署针对外部服务器的prometheus服务
通过上述步骤,您不仅成功地在Kubernetes集群内部署了Prometheus,还实现了对集群外服务器的有效监控。理解并实施网络配置是关键,确保监控数据的准确无误传输。随着监控需求的增长,您还可以进一步探索Prometheus生态中的其他组件,如Alertmanager、Grafana等,以构建完整的监控与报警体系。
135 60
|
1月前
|
弹性计算 人工智能 数据安全/隐私保护
【手把手教你】如何免费畅快使用阿里云ECS搭建私有Overleaf论文写作服务
本文详细介绍如何利用阿里云ECS免费搭建私有Overleaf论文写作服务,包括ECS服务器的部署、Overleaf服务的安装、TexLive包的更新、XeLaTeX修复、中文字体支持及账号管理等步骤。通过这些操作,你可以实现免费且高效的多人协作论文写作,避免付费版本的高昂费用。适合需要频繁合作撰写论文的团队使用。
105 1
【手把手教你】如何免费畅快使用阿里云ECS搭建私有Overleaf论文写作服务
|
26天前
|
弹性计算 监控 容灾
阿里云ECS提供强大的云上灾备解决方案,通过高可用基础设施、多样的数据备份方式及异地灾备服务,帮助企业实现业务的持续稳定运行
在数字化时代,企业对信息技术的依赖加深,确保业务连续性至关重要。阿里云ECS提供强大的云上灾备解决方案,通过高可用基础设施、多样的数据备份方式及异地灾备服务,帮助企业实现业务的持续稳定运行。无论是小型企业还是大型企业,都能从中受益,确保在面对各种风险时保持业务稳定。
42 4
|
1月前
|
Linux 数据库
Linux服务如何实现服务器重启后的服务延迟自启动?
【10月更文挑战第25天】Linux服务如何实现服务器重启后的服务延迟自启动?
254 3
|
2月前
|
IDE 网络安全 开发工具
IDE之vscode:连接远程服务器代码(亲测OK),与pycharm链接服务器做对比(亲自使用过了),打开文件夹后切换文件夹。
本文介绍了如何使用VS Code通过Remote-SSH插件连接远程服务器进行代码开发,并与PyCharm进行了对比。作者认为VS Code在连接和配置多个服务器时更为简单,推荐使用VS Code。文章详细说明了VS Code的安装、远程插件安装、SSH配置文件编写、服务器连接以及如何在连接后切换文件夹。此外,还提供了使用密钥进行免密登录的方法和解决权限问题的步骤。
875 0
IDE之vscode:连接远程服务器代码(亲测OK),与pycharm链接服务器做对比(亲自使用过了),打开文件夹后切换文件夹。
|
2月前
|
IDE 网络安全 开发工具
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
本文介绍了如何在PyCharm专业版中连接远程服务器并配置远程Python环境解释器,以便在服务器上运行代码。
447 0
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
|
2月前
|
网络安全 Docker 容器
【Bug修复】秒杀服务器异常,轻松恢复网站访问--从防火墙到Docker服务的全面解析
【Bug修复】秒杀服务器异常,轻松恢复网站访问--从防火墙到Docker服务的全面解析
38 0
|
弹性计算 网络协议 安全
阿里云ECS7天训练营-Day1 搭建FTP服务
阿里云ECS7天训练营-Day1 搭建FTP服务
1161 0
阿里云ECS7天训练营-Day1 搭建FTP服务
|
5天前
|
弹性计算 运维 安全
阿里云轻量应用服务器与ECS的区别及选择指南
轻量应用服务器和云服务器ECS(Elastic Compute Service)是两款颇受欢迎的产品。本文将对这两者进行详细的对比,帮助用户更好地理解它们之间的区别,并根据自身需求做出明智的选择。
下一篇
DataWorks