搭建SVN服务器并发布项目

版权声明:转载请随意! https://blog.csdn.net/qq_41723615/article/details/89531130

SVN有一个缺点:永远离不开网络。

搭建SVN服务器:

Subversion官网下载:http://subversion.apache.org/download.cgi?update=201708081800

下载后直接默认安装即可,随后可能需要自己配置系统PATH变量。

如果要想使用SVN服务器是没有图形界面的,需要由用户自己使用命令行来执行操作 ,所有命令行都保存在安装目录bin下。

给出的安装程序只是提供了一个平台,而在这一个平台上用户可以随意创建自己的项目。

1.在D盘创建一个文件夹:mysvnpro

2.需要为这个目录进行配置,使用如下命令:svnadmin create D:\mysvnpro

该目录将成为SVN的执行目录。

执行之后会在此目录之中保存与SVN有关的项目配置文件信息:

3.此时的目录还不能直接使用,因为还没有为其配置可用的用户名和密码信息,在初始化完我们的项目目录后,会自动出现conf目录。

authz:授权文件

passwd:密码文件

svnserve.conf

例如现在要创建一个用户:

首先修改svnserve.conf文件,修改这个文件的目的在于要打开授权文件和密码文件的使用(删除所有的单“#”)。

总共有如下配置:

anon-access = read
auth-access = write
password-db = passwd
#authz-db = authz
groups-db = groups
realm = My First Repository
force-username-case = none
hooks-env = hooks-env
use-sasl = false
min-encryption = 0
max-encryption = 256

修改passwd文件配置用户名和密码:

配置authz文件,在这个文件的配置过程需要考虑到顺序问题。

[aliases]
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average

[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe

jianzhu = rw

# [/foo/bar]
# harry = rw
# &joe = r
# * =

jianzhu = rw
* =

# [repository:/baz/fuz]
# @harry_and_sally = rw

* = r

此时在定义的时候要考虑顺序问题,否则无法进行授权操作,无法授权,项目就无法管理。

4.进行服务的启动:svnserve -d -r d:\mysvnpro

启动之后的服务不允许关闭,关闭后将无法进行SVN的操作。

配置SVN客户端

严格来讲SVN客户端可以分为两种:

1.直接的客户端,相当于给了一个文件上传的操作工具。

2.利用MyEclipse作为客户端。

但是有一点比较遗憾:MyEclipse本身并没有提供SVN的直接客户端,它所提供的是CVS客户端以及git客户端。

那么就必须在MyEclipse中安装客户端软件。

在以后经常要面临安装第三方开发工具的情况,所以本次将采用软件安装的模式完成。

在myeclipse中的help中找到install from site...此处可以安装本地文件,也可以从网上下载公共的安装插件包。

http://subclipse.tigris.org/update_1.6.x
http://subclipse.tigris.org/update_1.8.x (支持的是Subversion 1.7.x)

全选,然后下一步。

此时插件就在安装了,出现警告不用理,关闭即可。安装完成,会出现弹框,提示需要重新启动。

重新启动后就可以出现SVN插件了。出现一个弹框,点击ok。

此时客户端的配置就完成了。

在SVN服务器上发布项目

在进行任何的项目开发之前需要执行一步操作——搭建项目开发环境,搭建项目开发环境除了需要将一些工具类拷贝进去之外,还需要进行项目的服务器发布。前提SVN服务器不能关闭。

1.建立一个新的项目——SVNProject

2.随后将项目发布到SVN服务器上(此时电脑上的项目不能丢失,不能删除)

右键项目:

随后输入SVN服务器的访问路径,例如:当前电脑的IP地址为192.168.x.xxx。

则SVN的连接地址:svn://192.168.x.xxx。

需要发布到服务器上的项目必须有一个名字,可以使用已有的项目名字或者使用自定义的新名字。

每一次项目的提交都需要写清楚项目的修改操作,这些信息统一使用注释这一概念描述。

项目如果要共享则下一步需要填写用户名和密码。

这里不需要切换视图。

但是此时项目共享之后,原本项目的图标前就出现了一些标记。

将整个项目提交到服务器上:

输入本次提交信息。

项目提交之后图标改变了。

此时表示项目真正发送到网络了,以后编写的代码一定需要提交,才可以被服务器使用。

以后的开发之中不允许进行项目的整体提交,只允许进行项目文件的提交。

如果项目文件上还有错误。千万别提交。

使用SVN开发项目

冲突解决:

首先必须明确的是,发布项目的人不允许进行项目的删除。

为了模拟使用svn进行代码开发的特点,下面建立第二个开发者,打开一个新的myeclipse工作区即可。

其他开发者需要将项目导入。

随后需要设置要读取的资源路径svn://192.168.x.xxx

此时目录中已经出现了项目信息

此时会导入服务器端上的程序代码,而此时代码上就将取得的是服务器端的最新资源信息。

一个人开发:

下面首先进行单独的文件开发编写,此时该开发者开发了一个hello.java文件。

但是此时的文件还没有进行提交。

右键该类的包进行提交操作。

两个人开发:

第二个开发者怎么得到第一个开发者的hello.java文件呢?

先进行操作的同步,右键选择更新即可。

更新就是与资源库进行同步操作。

如果第二个开发者对文件进行了修改,需要进行提交。

如果现在确定没有其他人进行修改操作,可以直接进行提交。

有可能已经进行提交过了,先选择更新,而后选择提交。

现在假设另外一个人取得的是之前的程序代码(此时版本号为3,而服务器的版本为4),如果此时提交根本就不能进行提交操作,所以必须先更新再提交。

二同时在hello.java 文件里面也增加了一些信息内容。告诉用户代码出现了冲突。必须自己解决。

会把自己改的代码与其他人改的代码进行区分。代码解决之后需要进行标记操作:

此时必须先进行更新才能提交。

猜你喜欢

转载自blog.csdn.net/qq_41723615/article/details/89531130