快看,虚拟机跟宿主机之间竟然可以使用SVN

发布时间 - 2020-06-24 00:00:00    点击率:

作为程序员的我们,还是应该多做做尝试的。在写rabbitmq时由于在虚拟机操作,截图不好截,为了给大家呈现更好的效果,所以就给大家写一份宿主机跟虚拟机之间使用svn的操作流程。

本文主要围绕如下几个方面

  • 安装svn
  • 在宿主机连接虚拟机的svn
  • 使用钩子同步到web目录
  • 多项目使用svn
  • svn用户权限设置

本文实现环境

  • centos7.3
  • 所有操作均在虚拟机

一、安装svn

执行命令:yum install subversion

执行svn --version查看版本号,检测是否安装成功 创建版本库公共目录,在/var/下创建一个svn的目录mkdir /var/svn

当然这个可以自定义目录,看个人习惯 接着来到var/svn目录下,创建一个版本库

执行命令svnadmin create /var/svn/kaka,此时你的svn目录下会存在一个blog的版本库(其余俩个文件不用管,是后边做svn管理多项目才会用到的)

进入到kaka的版本库var/svn/kaka/conf可以看到三个文件

auth:控制权限的文件 passwd:控制密码的文件 svnserve.conf:为svn的配置信息 修改svnserve.conf配置信息,红色圈的都改就行。 接下来设置密码,打开文件passwd 设置权限,这里就是角色后边跟上用户设置的用户名 然后将刚刚修改的passwdauthz文件移到跟版本库一个目录下,执行命令mv passwd authz /var/svn 到这一步就完成了svn的安装和配置,接下来说明宿主机连接虚拟机的svn

二、宿主机连接虚拟机的svn

使用虚拟机的一定要注意ip地址 宿主机先得需要有svn客户端,这个安装就不说了,next到底就ok。

开启svn服务,执行命令svnserve -d -r /var/svn/,并检测是否开启成功 宿主机开始连接,地址就是虚拟机的ip地址,账号密码就是admin 123456 即可 此时文件就已经克隆到本地了 测试上传文件也成功 到这里我们就svn在宿主机连接并且提交文件到svn就成功了。

三、实现自动同步到web环境

由于是在虚拟机咔咔没有配置web目录,直接就在/usr/local/nginx/html

/var/svn/kaka/hooks下的post-commit.tmpl改为post-commit 执行指令mv post-commit.tmpl post-commit并且权限给满 修改post-commit文件里边的内容,但是打开文件后就是一堆注释,咔咔提示一个指令将这些全部删掉

执行100 dd即可,就是删除100行的意思 并且添加一下内容

#!/bin/sh #设定环境变量,如果没有设定可能会出现update报错   export LANG='zh_CN.UTF-8'    SVN_PATH=/usr/bin/svn WEB_PATH=/usr/local/nginx/html/kaka/   LOG_PATH=/tmp/svn_update.log $SVN_PATH update $WEB_PATH ~

保存退出,我们在本地在提交一个新文件,新建456.txt文件提交 来到web目录看有没有文件/usr/local/nginx/html

很是明显是没有这个文件的,别慌! 在/usr/local/nginx/html这个目录下在操作最后一步

执行指令:svn co --username admin --password 123456 svn://192.168.254.135/kaka,这个时候我们宿主机的文件就已经通过svn克隆到我们的虚拟机了。 再到本地上传一次,看是否可以直接到虚拟机里。

经过测试已经很ok了。

四、多项目使用svn

其实在上边的截图里都看到了我的版本库里存在一个blog的版本。

操作步骤跟kaka的版本库是一模一样的。只不过直接把blog/conf下的passwdauthz的文件直接删掉即可

也就是多个版本库使用同一个权限和账号密码 同时给kaka和blog上传一个258.txt 到这一步就把多项目使用同一个svn就搞定了。

五、用户权限设置

为什么需要设置这个用户权限区分。

例如你传代码到了svn,这时公司来了个新同事,他需要熟悉代码,但是他只可拉取代码不能提交代码。

这个时候就需要进行用户权限设置了。来整起

登录用户new 这个时候只有r权限  没有w权限的new用户是提交不了文件的


# nginx  # rabbitmq  # html  #   # var  # svn  # 编辑器  # 多项  # 这个时候  # 目录下  # 创建一个  # 咔咔  # 上传  # 是在  # 来了  # 就在 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何在阿里云完成域名注册与建站?  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  js实现获取鼠标当前的位置  微信小程序 canvas开发实例及注意事项  Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  如何在腾讯云服务器上快速搭建个人网站?  Linux网络带宽限制_tc配置实践解析【教程】  Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用  简历在线制作网站免费版,如何创建个人简历?  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  长沙企业网站制作哪家好,长沙水业集团官方网站?  Android利用动画实现背景逐渐变暗  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  C语言设计一个闪闪的圣诞树  Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】  什么是javascript作用域_全局和局部作用域有什么区别?  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言  如何用景安虚拟主机手机版绑定域名建站?  JavaScript如何操作视频_媒体API怎么控制播放  如何在 React 中条件性地遍历数组并渲染元素  Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑  Laravel如何处理表单验证?(Requests代码示例)  5种Android数据存储方式汇总  如何在云主机快速搭建网站站点?  如何构建满足综合性能需求的优质建站方案?  Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置  Python3.6正式版新特性预览  标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南  油猴 教程,油猴搜脚本为什么会网页无法显示?  深圳网站制作平台,深圳市做网站好的公司有哪些?  Laravel怎么连接多个数据库_Laravel多数据库连接配置  Python面向对象测试方法_mock解析【教程】  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  iOS发送验证码倒计时应用  高性能网站服务器部署指南:稳定运行与安全配置优化方案  ,网页ppt怎么弄成自己的ppt?  Linux后台任务运行方法_nohup与&使用技巧【技巧】  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  JavaScript中的标签模板是什么_它如何扩展字符串功能  Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  如何在建站宝盒中设置产品搜索功能?  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  Laravel定时任务怎么设置_Laravel Crontab调度器配置  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)