SVN server的搭建
当做大的项目是,svn是代码管理的好工具,假设是用自己的server,那么须要搭建SVNserver。
Subversion是一款很优秀的svnserver工具,笔者採用VisualSVN
server ,由于它集成了apache,不用再进行过多的配置。
首先下载安装 VisualSvn Server

选择VisualSVN ,然后下载。

Download 之后,进行VisualSVN的安装

点next

继续next


location 选择安装VisualSVN Server 的文件夹
Repositories 是代码版本号位置
Server Port为svnserver的port,默觉得443,启用https连接
安装完毕后

接下来我们安装TortoiseSVN,双击安装包,进入下一步.如图:

点击Next,进入下一步,如图:

选择接受,然后点击Next,进入下一步,如图:

选择安装路径,然后点击Next,进入下一步,如图:

点击Install,開始安装,如图:

等待安装完毕,安装完毕后如图:

接下来我们安装中文简体语言包,这个很easy,一路Next即可,就不截图了.语言包安装完毕以后在桌面随意空白地方单击鼠标右键,会在右键菜单里找到SVN,如图:

选择设置,进入下一步,如图:

在右边的语言里面选择中文简体,然后点击应用,确定,汉化即完毕,如图:

首先打开VisualSVN Server Manager,如图:

能够在窗体的右边看到版本号库的一些信息,比方状态,日志,用户认证,版本号库等.要建立版本号库,须要右键单击左边窗体的Repositores,如图:

在弹出的右键菜单中选择Create New Repository或者新建->Repository,进入下一步:

输入版本号库名称,勾上Create default structure复选框(推荐这么做).点击OK,版本号库就创建好了,版本号库中会默认建立trunk,branches,tags三个目录,如图:

这时候我们将项目导入到版本号库中,找到你的项目目录,在项目目录上点击鼠标右键,找到SVN菜单,选择导入,如图:

在弹出的对话框中填上版本号库URL,这个URL能够从VisualSVN Server Manager中获取,在你的版本号库上单击右键,选择Copy URL to Clipboard,这样就把版本号库URL拷贝到你的剪贴版了.如图:

将复制的版本号库URL粘贴上,在URL后面加上trunk子路径.然后在导入信息里面填上导入信息"导入项目到版本号库".如图:

点击确定,所选中的项目就会被导入到版本号库中.如图:

项目导入到版本号库以后,不能随便让谁都可以读写版本号库,所以须要建立用户组和用户.
在VisualSVN Server Manager窗体的左側右键单击用户组,选择Create User或者新建->User,如图:

在弹出的对话框中填写User name和Password,然后点击OK,如图:

用同样的方式分别创建用户Develpoer1,Develpoer2,Develpoer3,Test1,Test2,Manger六个用户,分别代表3个开发者,两个測试人员和一个项目经理,如图:

然后我们建立用户组,在VisualSVN Server Manager窗体的左側右键单击用户组,选择Create Group或者新建->Group,如图:

在弹出窗体中填写Group name为Developers,然后点Addbutton,在弹出的窗体中选择三个Developer,增加到这个组,然后点Ok,如图:

用同样的方式创建组Managers,Testers,如图:

接下来我们给用户组设置权限,在MyRepository上单击右键,选择属性,如图:

在弹出的对话框中,选择Security选项卡,点击Addbutton,选中Developers,Managers,Testers三个组,然后加入进来,给Developers,Managers权限设置为Read/Write,Tester权限设置为Read Only,如图:

到此,服务端就完毕了.
接下来,我们用client去检出代码,在桌面空白处单击右键,选择SVN检出,在弹出的对话框中填写版本号库URL(详细获取方式,上面讲上传项目到版本号库的时候讲过),选择检出文件夹,点击确定.如图:

開始检出项目,如图:

检出完毕之后,我们打开工作副本目录,会看到全部文件和目录都有一个绿色的√.如图:

至此,创建版本号库和使用TortoiseSVN导入项目,检出项目已经介绍完成.
此时在一个局域网的人就能够用SVNclient提交代码了。
笔者的server是阿里云主机,所以必须得让VisualSvn sever能让外网訪问,仅仅要把地址改为 https://你的域名或IP/svn/yc/
yc是建立的版本号库。
然后就能够通过浏览器web的方式或者 svnclient提交代码。可是当採用https连接时,笔者的svn始终连不上visualsvn,已连接就崩溃,最后笔者仅仅好换成了HTTP连接,自己定义port为8080
可是接下来的问题是,笔者的目的是用svn管理serverapache下的站点文件夹,方便的提交代码,并更新站点文件夹。
当笔者用svn提交成功时,发现并不能改变站点文件夹下的文件。
百度了好久才发现,server端的ViusalSVN须要编辑一个hooks钩子,把svnclient提交的代码更新到对应的站点文件夹。而不是它的版本号仓库。
详细方法是,在server和client分别用svn checkout,注意要同一时候检出,以便版本号一样.然后编写svn 钩子
实施:
1.创建web网站文件夹 d:\www
2.将项目检出到d:\www(可在server上安装tortoiseSVN来检出)
3.右击我的电脑--管理--服务,找到visualSVN serve ,右击选择属性---登陆--选择本地系统用户(同意与桌面交互)
保存,重新启动visualsvn服务
4.在代码库的hooks文件夹里新建post-commit.bat,贴入下面代码:
1 |
@echo off |
2 |
SET |
3 |
SET |
4 |
SET |
5 |
SET |
6 |
SET |
7 |
svn |
admin admin是你的svn登陆帐户password。
PS.建议你须要把svn安装文件夹下的bin文件夹加入到你的环境变量中。
假设小乌龟svn提交时 提示 fail start hooks, 那么应该是VisualSVN Server 读写权限的问题。
解决的方法: 在windows 服务中,改动VisualSVN服务的登录账号为本机。。
就能够了。
SVN server的搭建的更多相关文章
- Mac os x 10.8 svn server的搭建
Mac自带了svn服务端和客户端,所以我们不用再去下载了. 1 但首先 sudo vi /etc/paths 将xcode里的Contents/developer/usr/bin加入到path ...
- SVN server环境搭建
VisualSVN server搭建: 1. 下载VisualSVN server for Windows安装包:https://www.visualsvn.com/ 2. 安装过程,基本就是下一步一 ...
- Linux 搭建SVN server
一. SVN 简单介绍 Subversion(SVN) 是一个开源的版本号控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository ...
- (总结)CentOS Linux搭建SVN Server配置详解
PS:虽然在公司linux服务器上搭建过几次svn,但是时间长了,有些配置操作会忘掉,上网搜索的结果都不大满意,有幸在前几天看到一篇算是最满意的svn搭建文章,转载一下以备以后使用,原文地址 ...
- CentOS Linux搭建独立SVN Server全套流程(修改svn仓库地址、服务启动等)
CentOS Linux搭建独立SVN Server全套流程(修改svn仓库地址.服务启动等) 原 一事能狂便少年 发布于 2016/12/27 11:16 字数 1113 阅读 1.3K 收藏 0 ...
- 【转】在ubuntu环境下搭建svn server遇到的一些问题
原文网址:http://www.cnblogs.com/pcchinadreamfly/archive/2012/11/24/2786046.html 前段时间在ubuntu 12.04lts上倒腾了 ...
- 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)
前言 上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库 ...
- Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)
上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库文件和版本,以 ...
- 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境
前言 但凡一个略有规模的项目都需要一个持续集成环境的支撑,为什么需要持续集成环境,我们来看一个例子.假如一个项目,由A.B两位程序员来协作开发,A负责前端模块,B负责后端模块,前端依赖后端.A和B都习 ...
随机推荐
- 15_RHEL7挂载NTFS分区
1.下载ntfs-3g wget https://tuxera.com/opensource/ntfs-3g_ntfsprogs-2015.3.14.tgz 2.安装 tar -zxvf ntfs-3 ...
- java 按天创建文件夹
按天创建文件夹,也就是每天创建一个,适合上传文件服务使用,文件数量较多时可以按文件夹区分. public static final String FMT = "yyyy-MM-dd" ...
- PHP框架_ThinkPHP基础
目录 1.ThinkPHP项目结构 2.ThinkPHP运行流程 3.ThinkPHP配置文件 4.ThinkPHP四种URL模式 5.ThinkPHP用户自定义函数 6.ThinkPHP模板展示及变 ...
- PHP android ios相互兼容的AES加密算法
APP项目用户密码传输一直没有用HTTPS,考虑到用户的隐私暂时先用AES对密码加密,以后也可以用于手机端与服务端加密交互. PHP的免费版phpAES项目,手机端解码各种不对. 好不容易找了PHP ...
- mvc的真实含义
MVC是一个设计模式,它强制性的使应用程序的输入.处理和输出分开.使用 MVC应用程序被分成三个核心部件:模型(M).视图(V).控制器(C),它们各自处理自己的任务. 视图 : 视图是用户看到并与之 ...
- Asp.Net使用异步性能就提升吗
Asp.Net异步编程 随着.Net4.5的推出,一种新的编程方式简化了异步编程,在网上时不时的也看到各种打着Asp.Net异步编程的口号,如何提高性能,如何提高吞吐率! 好多文章都说得不清楚,甚 ...
- css+js自动化开发之第十五天
一.css上一篇的补充 1.position(页面分层) (1)fiexd将标签固定在页面的某个位置 position属性:top,left,right,bottom (2)relative+abso ...
- Linux下软件的安装
想必linux新手刚开始对于linux软件安装很茫然吧,不知到怎么安装,软件到底安装在哪里,如果我需要删除软件怎么删除,配置文件到哪里去找. 想学习linux的话,最快上手的应该是Ubuntu,它特有 ...
- 2013 年 —— Facebook 在开源方面的工作介绍
自从 Facebook 的第一行PHP代码,第一句 MySQL 的 INSERT 语句,开源就已经是我们工程哲学中的一个重要的部分. 现在,我们使用.维护并为大量的主要项目做出了贡献——涉及多种领域如 ...
- iOS之H5和Native混合开发
今天需要用到一个H5和Native 混合开发的项目,简单的写一点入门的东西,很简答: 先介绍一下简单的配置步骤: 1.新建项目:SB拖一个UIWebView 按住Ctrl 拖线delegate 设置为 ...