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

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

目录
相关文章
|
11天前
|
网络安全 开发工具 云计算
服务器看代码阿里云
随着云计算技术的发展,阿里云作为国内领先的云计算服务提供商,其服务器受到广大用户青睐。本文主要介绍如何在阿里云服务器上便捷地查看与管理代码,如使用SSH连接服务器并通过命令行工具打开文件,以及利用Git进行版本控制和协作开发,提高代码管理效率。无论个人开发者还是企业团队,都能借助阿里云服务器高效地部署与管理应用程序,提升工作效率及产品质量。
41 10
|
10天前
|
存储 Linux 网络安全
存放位置阿里云服务器代码的
阿里云服务器提供虚拟化计算、存储与网络服务。创建服务器时,可基于不同需求选择代码存放位置:文件系统支持直接通过SSH访问与编辑;公共目录如 `/var/www/html` 适合Web应用;对象存储OSS适用于大数据处理;代码托管服务如 GitLab 则利于版本控制与团队协作。合理选择有助于提升开发效率。
27 7
|
9天前
|
开发者
HTTP状态码是由网页服务器返回的三位数字响应代码,用于表示请求的处理结果和状态
HTTP状态码是由网页服务器返回的三位数字响应代码,用于表示请求的处理结果和状态
15 1
|
11天前
|
网络安全 云计算
阿里云服务器代码
阿里云作为中国领先的云计算服务提供商,为用户提供了丰富的云服务器实例。本文详细介绍如何在阿里云上定位服务器代码,包括利用控制台搜索实例并访问详细页面查找相关信息,使用`ssh`和`cat`等命令行工具远程连接及读取文件内容,以及在遇到困难时及时联系阿里云技术支持获取帮助的具体方法。无论您的实例类型与操作系统有何不同,总有一种方式能帮您顺利找到所需的服务器代码。
15 3
|
10天前
|
网络安全 云计算
在哪找出来阿里云服务器代码
本文介绍了在阿里云上查找服务器代码的方法,包括通过控制台搜索实例并进入详情页查找相关信息,利用 `ssh` 和 `cat` 等命令行工具远程访问和查看文件,以及联系阿里云技术支持获得进一步帮助,助您轻松定位和操作服务器代码。
22 1
|
26天前
|
安全 C#
【Azure 应用服务】在安全漏洞扫描中发现有泄露服务器IIS版本的情况,如何实现屏蔽服务版本号信息呢?
【Azure 应用服务】在安全漏洞扫描中发现有泄露服务器IIS版本的情况,如何实现屏蔽服务版本号信息呢?
|
27天前
|
Ubuntu Linux 测试技术
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
|
21天前
|
数据可视化 Python
通过python建立一个web服务查看服务器上的文本、图片、视频等文件
通过python建立一个web服务查看服务器上的文本、图片、视频等文件
20 0
|
24天前
|
JSON API 数据格式
基于服务器响应的实时天气数据进行JSON解析的详细代码及其框架
【8月更文挑战第25天】这段资料介绍了一个使用Python从服务器获取实时天气数据并解析JSON格式数据的基本框架。主要分为三个部分:一是安装必要的`requests`库以发起HTTP请求获取数据,同时利用Python内置的`json`库处理JSON数据;二是提供了具体的代码实现,包括获取天气数据的`get_weather_data`函数和解析数据的`parse_weather_data`函数;三是对代码逻辑进行了详细说明,包括如何通过API获取数据以及如何解析这些数据来获取温度和天气描述等信息。用户需要根据实际使用的天气API调整代码中的API地址、参数和字段名称。
|
9天前
|
Cloud Native Java 编译器
将基于x86架构平台的应用迁移到阿里云倚天实例云服务器参考
随着云计算技术的不断发展,云服务商们不断推出高性能、高可用的云服务器实例,以满足企业日益增长的计算需求。阿里云推出的倚天实例,凭借其基于ARM架构的倚天710处理器,提供了卓越的计算能力和能效比,特别适用于云原生、高性能计算等场景。然而,有的用户需要将传统基于x86平台的应用迁移到倚天实例上,本文将介绍如何将基于x86架构平台的应用迁移到阿里云倚天实例的服务器上,帮助开发者和企业用户顺利完成迁移工作,享受更高效、更经济的云服务。
将基于x86架构平台的应用迁移到阿里云倚天实例云服务器参考