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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

pycharm远程连接server

1.工具–部署–配置 2.部署完成后,将现有的项目的解释器设置为ssh 解释器。实现在远端开发 解释器可以使用/usr/bin/python3

构建安全高效的前端权限控制系统

✨✨谢谢大家捧场,祝屏幕前的小伙伴们每天都有好运相伴左右,一定要天天开心哦!✨✨ 🎈🎈作者主页: 喔的嘛呀🎈🎈 ✨✨ 帅哥美女们,我们共同加油!一起进步&am…

GDPU unity游戏开发 碰撞体与关节

让你设计的角色跑起来吧,可以是动画,也可以是碰撞器的运动。 运动小车 找到小车素材,导入到层级面板。然后可以新建一个地面让小车在上面运动,新建一个方块当障碍物。 摆放好后,要加组件。记住,在unity中运…

idea上传项目到gitee(码云)

1、打开码云,新建仓库 2、创建 3、这就是创建成功的页面 4、复制仓库地址,后面需要用到 2、打开我们的项目:例如我现在的项目 1、idea创建git仓库 2、选择我们项目文件夹的目录 3、查看文件是否变色,变色表示成功了 4、添加到缓…

unity cinemachine相机 (案例 跟随角色移动)

安装相机包 打开包管理工具 在 unity registry 搜索cinemachine 会在maincamera中生成一个组件cinemachineBrain 只能通过虚拟相机操控 主相机 虚拟相机的参数 案例 1.固定相机效果 位置 在固定的地方 默认的模式 2.相机跟随人物效果 焦距设置 20 跟随设置 把playere…

10.MMD 室内场景导入背景视频和灯光

导入背景视频 1. 导入人物和场景 场景是Akali’s room,可以在墙壁上添加视频 先添加主场景 2. 修改视频文件格式 在背景里选择导入背景视频文件 需要将mp4视频格式转化为AVI格式 方法一 先将视频导入格式工厂 点击配置 将视频编码改成DivX 再开始处理 …

【解决NodeJS项目无法在IDEA中调试的问题】使用JetBrains IDEA 2023 调试nodejs项目

项目采用Ant Design Pro React,使用前后端分离开发方式,后端可以很容易的打断点调试,但是前端通过网页进行调试,在IDEA中加了调试断点,但是没有什么用处。 解决方案如下: 点击新建运行配置 新建JavaScrip…

BERT-CRF 微调中文 NER 模型

文章目录 数据集模型定义数据集预处理BIO 标签转换自定义Dataset拆分训练、测试集 训练验证、测试指标计算推理其它相关参数CRF 模块 数据集 CLUE-NER数据集:https://github.com/CLUEbenchmark/CLUENER2020/blob/master/pytorch_version/README.md 模型定义 imp…

李沐60_机器翻译数据集——自学笔记

!pip install d2limport os import torch from d2l import torch as d2l下载和预处理数据集 在这个将英语翻译成法语的机器翻译问题中, 英语是源语言(source language), 法语是目标语言(target language)。…

交互式探索微生物群落与生态功能的关系

微生物群落在生态系统中发挥则重要功能,我们在对微生物群落进行分析时,会将不同分类水平(从门到属)的微生物类群的相对丰度与测定的某一生态功能进行相关性分析。但由于微生物类群数较多,又有不同的分类水平&#xff0…

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

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

详解数据结构:队列(含栈与队列扩展)

一、顺序队列 有一种线性序列,特点是先进先出,这种存储结构称为队列。队列也是一种线性表,只不过它是操作受限的线性表,只能再两端操作:一端进、一端出。进的一端称为队尾,出的一端称为队头。队列可以用顺…

【笔记django】创建一个app

创建app 错误 raise ImproperlyConfigured( django.core.exceptions.ImproperlyConfigured: Cannot import rules. Check that dvadmin.rules.apps.RulesConfig.name is correct.原因 刚创建的rules的app被手动移动到了dvadmin目录下 而dvadmin/rules/apps.py的内容还是&…

系统设计 --- E2E Test System

系统设计 --- E2E Test System 什么是E2EE2E Architecture Example 什么是E2E E2E(端到端)测试是一种软件测试方法,旨在模拟真实的用户场景,测试整个应用程序或系统的端到端功能和交互流程。E2E 测试涵盖了从用户界面到后端系统的…

OpenHarmony实战开发-合理运行后台任务

简介 设备返回主界面、锁屏、应用切换等操作会使应用退至后台。为了降低设备耗电速度、保障用户使用流畅度,系统会对退至后台的应用进行管控,包括进程挂起和进程终止。为了保障后台音乐播放、日历提醒等功能的正常使用,系统提供了受规范约束…

iptables实现docker容器动态端口映射实操

背景 之前在《Docker 动态修改容器端口映射的方法》一文中,说明了如何使用修改配置和加防火墙规则实现动态端口映射。但是没有具体分享加防火墙实现动态端口映射的实际案例。今天就分享一下实际操作案例,供大家参考。 分析 动态端口映射的用途 容器端口…

JavaEE初阶——多线程(六)——线程池

T04BF 👋专栏: 算法|JAVA|MySQL|C语言 🫵 小比特 大梦想 此篇文章与大家分享多线程的第六篇文章,关于线程池 如果有不足的或者错误的请您指出! 目录 3.线程池3.1标准库的线程池3.2 标准库自己提供的几个工厂类3.3自己实现一个线程池完成大体框架接下来完…

解决DataGrip连接MySQL8时出现时区错误问题

解决办法:在url后面拼接时区参数 ?serverTimezoneAsia/Shanghai

生成式AI在B端产品的应用分析

AI产品发展到现在,消费端的产品应用还受到比较大的限制;但是在B端,已经有了不错的表现。作者总结了AI产品在B端的几款应用,一起来看看表现如何。 生成式AI在B端产品的应用分析© 由 ZAKER 提供 随着今年生成式AI应用的大范围…

绝地求生:16款战术手套,你最钟爱哪一款?

大家好,我是闲游盒! 喜迎PUBG七周年生日同时游戏里又迎来了一款新的战术手套,那么就让我们来回顾一下目前出游戏中的16款战术手套吧,看看你最中意的是哪一款? 1、MAZARIN1K 战术手套 2、SPAJKK 战术手套 3、SWAGGER 战…