windows与linux搭建svn环境并自动更新代码

news2024/10/7 4:29:59

SVN搭建以及自动更新代码

目录

一、windows安装svn并且转成中文

第1步:先下载安装包如下下面是语言包与安装包

第2步:双击安装包一直点击下一步即可

第3步:双击安装中文语言包

第二步:勾选设置语言包

二、linux安装svn

第1步 :检查是否安装SVN并用yum安装

第2步:创建版本库目录和版本库  firsttest为项目名称  

第3步:进入版本库修改conf目录配置

第4步:修改authz文件,添加分组和版本库权限

第5步:修改passwd密码文件

第6步:添加目录权限,修改svnserve.conf 

第7步:启动和关闭svn

第8步:windows客户端更新代码

第9步:服务器更新svn代码

三、linux服务器代码自动更新不用 svn update

第1步:创建自动更新脚本

第2步:配置脚本权限 

第3步:重启svn测试


一、windows安装svn并且转成中文

第1步:先下载安装包如下下面是语言包与安装包

第2步:双击安装包一直点击下一步即可

第3步:双击安装中文语言包

第二步:勾选设置语言包

点击下一步安装成功后右键svn已更改为中文

二、linux安装svn

第1步 :检查是否安装SVN并用yum安装

检查是否安装 rpm -qa subversion 

卸载旧版本 yum remove subversion
 yum -y install subversion


输入svnserve --version 查看是否安装成功,安装成功显示下面版本号

第2步:创建版本库目录和版本库  firsttest为项目名称  

  mkdir /home/svn/ 

   cd /home/svn/ 
   svnadmin create firsttest    安装好后会产生firsttest目录

第3步:进入版本库修改conf目录配置

第4步:修改authz文件,添加分组和版本库权限

           vi   authz

           以下是文件内容,红色为修改部分

             [groups]
             # harry_and_sally = harry,sally
            # harry_sally_and_joe = harry,sally,&joe
            admin=user1,user2  //增加分组

            # [repository:/baz/fuz]
            # @harry_and_sally = rw
            # * = r
            [firsttest:/]   //目录和项目名称对应 firsttest
           @admin=rw    分配权限

第5步:修改passwd密码文件

          vi passwd

 以下是文件内容,红色为修改部分

           ### This file is an example password file for svnserve.
           ### Its format is similar to that of svnserve.conf. As shown in the
           ### example below it contains one section labelled [users].
           ### The name and password for each user follow, one account per line.

         [users]
         # harry = harryssecret
         # sally = sallyssecret
         user1=888888
         user2=888888

第6步:添加目录权限,修改svnserve.conf 

          [general]
          ### These options control access to the repository for unauthenticated
          ### and authenticated users.  Valid values are "write", "read",
          ### and "none".  The sample settings below are the defaults.
          # anon-access = read         去掉#并修改为 anon-access=none
          # auth-access = write        去掉#

         ### If SASL is enabled (see below), this file will NOT be used.
         ### Uncomment the line below to use the default password file.
         #password-db = passwd         去掉#
         ### The authz-db option controls the location of the authorization
         ### rules for path-based access control.  Unless you specify a path
         ### starting with a /, the file's location is relative to the the
        ### directory containing this file.  If you don't specify an
        ### authz-db, no path-based access control is done.
        ### Uncomment the line below to use the default authorization file.
        #authz-db = authz          去掉#
        ### This option specifies the authentication realm of the repository.
        ### If two repositories have the same authentication realm, they should
        ### have the same password database, and vice versa.  The default realm
        ### is repository's uuid.
        realm = /home/svn/firsttest/ svn所在目录     

第7步:启动和关闭svn

       启动svn

       svnserve -d -r /home/svn/

     停止

          killall svnserve

第8步:windows客户端更新代码

 右键点击检出代码

 svn://你的服务器id/firsttest

输入第5步设置的账号密码

新增文件后右键更新或者上传代码

第9步:服务器更新svn代码

然后回到服务器 你的项目目录/var/www/

进入根目录    cd /

svn co svn://你的服务器id/firsttest  /var/www/

输入第5步的账号密码与windows一样账号

windows上传代码后,服务器需要svn update更新代码

三、linux服务器代码自动更新不用 svn update

第1步:创建自动更新脚本

cd /home/svn/firsttest/hooks

vi post-commit

输入下面代码

#!/bin/sh
S="$1"
REV="$2"
export LC_ALL="zh_CN.UTF-8"
export LANG="en_US.UTF-8"

SVN_PATH=/usr/bin                          #svn安装路径
WEB_PATH=/var/www/           #web项目所在
SVN_USER=user1                          #svn用户名
SVN_PASS=888888                          #svn密码
LOG_PATH=/tmp/svn.log
$SVN_PATH/svn update $WEB_PATH || exit 1
exit 0

第2步:配置脚本权限 

  chmond  -R 777 post-commit

第3步:重启svn测试

killall svnserve

svnserve -d -r /home/svn/

windows上传代码测试,linux自动更新代码不用svn update

线上服务器存在风险,代码误传会出问题,一定要小心

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1618978.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

代码随想录算法训练营DAY32|C++贪心算法Part.2|122.买卖股票的最佳时机II、55.跳跃游戏、45.跳跃游戏II

文章目录 122.买卖股票的最佳时机II思路CPP代码 55.跳跃游戏思路CPP代码 45.跳跃游戏II思路方法一代码改善 CPP代码 122.买卖股票的最佳时机II 力扣题目链接 文章讲解:122.买卖股票的最佳时机II 视频讲解: 状态:本题可以用动态规划&#xff0…

模块三:二分——69.x的平方根

文章目录 题目描述算法原理解法一:暴力查找解法二:二分查找 代码实现暴力查找CJava 题目描述 题目链接:69.x的平方根 算法原理 解法一:暴力查找 依次枚举 [0, x] 之间的所有数 i (这⾥没有必要研究是否枚举到 x /…

消消乐算法总结

前言 最近在工作中遇到一个问题,做一个消消乐的demo项目,连续相同数目超过四个后就要消除。我在网上看了很多解决方案,有十字形,横向,纵向,梯形搜索。越看越迷糊。这不是用一个BFS就能解决的问题吗&#x…

用于割草机器人,商用服务型机器人的陀螺仪

介绍一款EPSON推出适用于割草机器人,商用服务型机器人的高精度陀螺仪模组GGPM61,具体型号为GGPM61-C01。模组GGPM61是一款基于QMEMS传感器的低成本航向角输出的传感器模组,它可以输出加速度、角速度及姿态角等信息,为控制机器人运…

界面组件DevExpress Blazor UI v23.2 - 支持.NET 8、全新的项目模版

DevExpress Blazor UI组件使用了C#为Blazor Server和Blazor WebAssembly创建高影响力的用户体验,这个UI自建库提供了一套全面的原生Blazor UI组件(包括Pivot Grid、调度程序、图表、数据编辑器和报表等)。 DevExpress Blazor控件目前已经升级…

创建钉钉审批流实例

1、依赖 <!--钉钉 api --> <dependency><groupId>com.aliyun</groupId><artifactId>dingtalk</artifactId><version>2.0.14</version> </dependency> <!--钉钉 事件订阅--> <dependency><groupId>co…

智慧安防视频监控EasyCVR视频汇聚平台无法自动播放视频的原因排查与解决

国标GB28181协议EasyCVR安防视频监控平台可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、云存储等丰富的视频能力&#xff0c;平台支持7*24小时实时高清视频监控&#xff0c;能同时播放多路监控视频流…

【Flask】Flask中HTTP请求与接收

一、接收http请求与返回响应 在Flask中&#xff0c;可以通过app.route装饰器来定义路由函数。 app.route(/BringGoods,methods [POST, GET]) GET请求&#xff1a;使用request.args.get(key)或者request.values.get(key)来获取URL中的参数。 POST请求&#xff1a; 使用req…

设计模式学习笔记 - 开源实战四(中):剖析Spring框架中用来支持扩展的设计模式

概述 上篇文章&#xff0c;学习了 Spring 框架背后蕴含的设计思想&#xff0c;比如约定优于配置、低侵入松耦合、模块化轻量级等等。这些设计思想可以借鉴到其他框架开发中&#xff0c;在大的设计层面提高框架的代码质量。 除了上篇文章降到的设计思想&#xff0c;实际上&…

【牛客 NC253455】小红走排列 题解(双端队列+位集合+贪心算法)

题目描述 对于一个排列&#xff0c;小红定义该排列的总消耗为&#xff1a;1走到2&#xff0c;2走到3&#xff0c;……&#xff0c;最终从 n − 1 n-1 n−1走到 n n n所需的最少的总步数。其中&#xff0c;每一步可以向左走一步&#xff0c;也可以向右走一步。 现在&#xff0…

薄板样条插值TPS原理以及torch和opencv实现

薄板样条插值TPS原理以及torch和opencv实现 1、薄板样条插值TPS原理概述原理以及公式推导2、torch实现3、opencv实现1、薄板样条插值TPS原理 概述 薄板样条(Thin Plate Spline),简称TPS,是一种插值方法,可找到通过所有给定点的“最小弯曲”光滑曲面。因为它一般都是基于…

ESP-IDF下载与安装完整流程

本文主要看参考官网说明&#xff0c;如下&#xff1a; Windows 平台工具链的标准设置 - ESP32 - — ESP-IDF 编程指南 latest 文档 (espressif.com) 一、概述 ESP-IDF需要安装一些必备工具&#xff0c;才能围绕ESP32构建固件&#xff0c;包括&#xff1a; PythonGit交叉编译…

DeepFaceLab小白教程:视频换脸过程

合适那些人阅读&#xff1f; 适合从未使用过DeepFaceLab的群体。 如果你想基于DeepFaceLab完成一次视频换脸的操作&#xff0c;可以看本篇。 下载方式 GitHub https://github.com/iperov/DeepFaceLab 我是用motrix下载。 网盘 https://pan.baidu.com/share/init?surlO4…

蓝桥杯:日期问题(我的绝望题)

&#x1f381;个人主页&#xff1a;我们的五年 &#x1f50d;系列专栏&#xff1a;每日一练 &#x1f337;追光的人&#xff0c;终会万丈光芒 目录 前言&#xff1a; &#x1f337;1.问题描述&#xff1a; 1.问题描述&#xff1a; 2.输入格式&#xff1a; 3.输出格式&#…

华为海思校园招聘-芯片-数字 IC 方向 题目分享——第七套

华为海思校园招聘-芯片-数字 IC 方向 题目分享——第七套 (共9套&#xff0c;有答案和解析&#xff0c;答案非官方&#xff0c;未仔细校正&#xff0c;仅供参考&#xff09; 部分题目分享&#xff0c;完整版获取&#xff08;WX:didadidadidida313&#xff0c;加我备注&#x…

Golang基础1

基本类型 bool 整数&#xff1a;byte(相当于uint8), rune(相当于int32), int/uint ,int8/uint8 ,int16/uint16 ,int32/uint32 ,int64/uint64 浮点数: float32 ,float64, complex64 ,complex128 array&#xff08;值类型&#xff09;、slice、map、chan&#xff08;引用类型…

小扎宣布开放 Meta Horizo​​n OS

日前&#xff0c;Meta以“混合现实的新时代”为题的博文宣布向第三方制造商开放Meta Horizon OS&#xff0c;包括华硕、联想和微软Xbox等等&#xff1a; Meta正在朝着为元宇宙建立一个更开放的计算平台的愿景迈出下一步。Meta正在向第三方硬件制造商开放赋能Meta Quest设备的操…

ETL简介以及使用ETL(Kettle)进行数据接入的具体例子

目录 ETL介绍 ETL简介 ETL包含的三部分 ETL基本概念 ETL资源库 ETL变量 业务表梳理以及接入规划 数据接入流程 业务表梳理 ETL任务规范 接入规划 数据接入中的方便工具 具体例子 导出生产表信息 1、ORACLE 2、MYSQL ETL数据增量抽取任务开发 1、ORACLE通用流程…

使用 IPAM 解决方案简化分布式网络管理

随着组织在数字领域的全球扩张&#xff0c;分布式网络是不可避免的&#xff0c;这意味着&#xff0c;随着 IT 基础设施的发展&#xff0c;组织需要适应&#xff0c;这包括在不断增长的系统需求、应用程序堆栈、各种协议和安全防御中监控、现代化和简化流程和资源。在有效管理现…

场景 - 分库分表

分什么 数据量大分表&#xff0c;并发大分库 分表字段如何选择 如果对交易订单进行分表&#xff0c;可以选择的东西很多&#xff0c;比如说商户id&#xff0c;用户id&#xff0c;地区等等 分表的时候要考虑到数据倾斜问题 数据倾斜 比如说按商户号进行分表&#xff0c;一共…