软件开发版本管理(软件开发版本管理流程)

软件开发 1267
本篇文章给大家谈谈软件开发版本管理,以及软件开发版本管理流程对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、版本控制在软件开发中由谁管理?

本篇文章给大家谈谈软件开发版本管理,以及软件开发版本管理流程对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

版本控制在软件开发中由谁管理?

svn版本控制器安装 分类:学习园地Subversion 系统

多年来,并发版本系统(CVS)一直是在Linux上管理代码或者文本的标准。作为基于RCS上建立但却允许多用户协作的系统而言,CVS记录所有文件的修改信息。这对于程序开发者、网络设计者和系统管理员而言,是非常有用的。

然而,CVS逐渐显示出它的衰老,出现了相似的源代码管理软件。然而大多这种东西都是以牟利为主要目的的。

Subversion就是一种相对新鲜的源代码管理系统。虽然事实上它还在不断的反展之中,但是Subversion已经是一个非常稳定而且成熟的产品。它是一个全新的系统,其功能可以和CVS媲美,同时,它要比CVS更直观,更容易操作。本文就Subversion的安装和一些特殊功能作一个介绍。

安装服务器端

第一步:下载Apache和SVN源码包

从官方网站台下载httpd-2.0.52.tar.gz,subversion-1.2.3.tar.gz

(因为redhat 9默认安装的Apache没有并包含--enable-so选项,所以无法产生mod_dav_svn.没有这个模块,SVN就无法采用http方式运行,所以必须重新编译新的Apache)

以root身份执行:

#tar zxvf httpd-2.2.0.tar.gz

#cd httpd-2.2.0

#./configure --enable-dav --enable-so --enable-maintainer-mode

#make

#make install

此时会产生/usr/local/apache2目录,接着执行:

#tar zxvf subversion-1.2.3.tar.gz

#./configure --with-apxs=/usr/local/apache2/bin/apxs

# rm /usr/local/lib/libsvn*

# make clean make make install

此时会自动在/usr/local/apache2/conf/httpd.conf添加

LoadModule dav_svn_module modules/mod_dav_svn.so

安装完成后,运行svnserver --version确认版本号1.2.3。

SVN服务器安装结束.

第二步,创建仓库 svnadmin create /home/svnrepo

/root/svnrepo为所创建仓库的路径,理论上可以是任何目录

第三步,修改配置文件/home/svnrepo/conf/svnserve.conf

代码

#去掉#[general]前面的#号

[general]

#匿名访问的权限,可以是read,write,none,默认为read

anon-access = none

#认证用户的权限,可以是read,write,none,默认为write

auth-access = write

#密码数据库的路径,去掉前面的#

password-db = passwd

注意:所有的行都必须顶格,否则报错。

建议:为了防止不必要的错误,建议你直接用我上面的内容覆盖掉文件原来的内容

第四步,修改配置文件passwd。

代码

[users]

sxy = sxy

注意

1. 一定要去掉[users]前面的#,否则svn只能以匿名用户登录,客户端不会出现登录窗口,除非你的anon不为none,否则将返回一个错误。

2. 这里的密码都是没有加密的,我按照一些教程所说的用htpasswd生成的密码无法使用。

第五步,启动svn服务

对于单个代码仓库

启动命令 svnserve -d -r /home/svnrepo --listen-host 192.168.100.200

其中-d表示在后台运行,-r指定服务器的根目录,这样访问服务器时就可以直接用svn://服务器ip来访问了。如果服务器有多ip的话--listen-host来指定监听的ip地址.

我们可以在svn客户端中通过svn://192.168.100.200来访问svn服务器

对于多个代码仓库,我们在启动时也可以用-r选项来指定服务器根目录,但访问时需要写上每个仓库相对于svn根目录的相对路径.

比如,我们有两个代码仓库/home/repoa和/home/repob,我们用svnserve -d -r /home --listen-host 192.168.100.200来启动,那么在客户端访问时可以用svn://192.168.100.200/repoa和svn://192.168.1.200/repob来分别访问两个项目

启动完成以后,我们可以用ps aux|grep svnserv来查看是否存在svnserve进程.

第六步 开放服务器端口

svn默认端口是3690,你需要在防火墙上开放这个端口。

/sbin/iptables -A INPUT -i eth0 -p tcp --dport 3690 -j ACCEPT

/sbin/service iptables save

你也可以通过svnserve的--listen-port选项来指定一个已经开放的其他端口,不过这样的话客户端使用也必须家上端口,如svn://192.168.100.200:9999/.

第七步,使用svn客户端导入项目

推荐使用客户端

eclipse插件

附:svnserve [选项]

有效选项:

-d [--daemon] : 后台模式

--listen-port arg : 监听端口(后台模式)

--listen-host arg : 监听主机名或IP地址(后台模式)

--foreground : 在前台运行(调试时有用)

-h [--help] : 显示这个帮助

--version : 显示版本信息

-i [--inetd] : inetd 模式

-r [--root] arg : 服务根目录

-R [--read-only] : 不赞成;使用档案库配置文件

-t [--tunnel] : 隧道模式

--tunnel-user arg : 隧道用户名(模式是当前用户UID的名字)

-T [--threads] : 使用线程代替进程

-X [--listen-once] : 监听一次(调试时有用)

安装客户机端

window客户机:

直接安装TortoiseSVN-1.1.1-UNICODE_svn-1.1.1.msi,方法同一般软件安装相同。

Linux客户机:

方法舆安装服务器相同。

(注意redhat 9默认安装的SVN版本为0.17.1,它的客户端命令svn无法舆新的SVN服务器通讯,必须重新安装)

我是从“上海全鼎软件学院”毕业的————————

版本控制软件的常用的版本控制软件简介

VSS是美国微软公司的产品,目前常用的版本为6.0版。VSS是配置管理的一种很好的入门级的工具。

易学易用是VSS的强项,VSS采用标准的windows操作界面,只要对微软的产品熟悉,就能很快上手。VSS的安装和配置非常简单,对于该产品,不需要外部的培训(可以为公司省去一笔不菲的费用)。只要参考微软完备的随机文档,就可以很快的用到实际的工程当中。

VSS的配置管理的功能比较基本,提供文件的版本跟踪功能,对于build和基线的管理,VSS的打标签的功能可以提供支持。VSS提供share(共 享)、branch(分支)和合并(merge)的功能,对于团队的开发进行支持。VSS不提供对流程的管理功能,如对变更的流程进行控制。

VSS不能提供对异地团队开发的支持。此外VSS只能在windows平台上运行,不能运行在其他操作系统上。 有软件提供商提供VSS插件,可以同时解决VSS跨平台和远程连接两个问题,例如SourceAnywhere for VSS, SourceOffSite等。

VSS的安全性不高,对于VSS的用户,可以在文件夹上设置不可读,可读,可读/写,可完全控制四级权限。但由于VSS的文件夹是要完全共享给用户后,用户才能进入,所以用户对VSS的文件夹都可以删除。这一点也是VSS的一个比较大的缺点。

VSS没有采用对许可证进行收费的方式,只要安装了VSS,对用户的数目是没有限制的。因此使用VSS的费用是较低的。

微软不再对VSS提供技术支持。 CVS是开发源代码的配置管理工具,其源代码和安装文件都可以免费下载。

CVS是源于unix的版本控制工具,对于CVS的安装和使用最好对unix的系统有所了解能更容易学习,CVS的服务器管理需要进行各种命令行操作。目前,CVS的客户端有winCVS的图形化界面,服务器端也有CVSNT的版本,易用性正在提高。

CVS的功能除具备VSS的功能外,还具有:

它的客户机/服务器存取方法使得开发者可以从任何因特网的接入点存取最新的代码;它的无限制的版本管理检出(checkout:注1)的模式避免了通常的 因为排它检出模式而引起的人工冲突;它的客户端工具可以在绝大多数的平台上使用。同样,CVS也不提供对变更流程的自动管理功能。

一般来说,CVS的权限设置单一,通常只能通过CVSROOT/passwd, CVSROOT/readers, CVSROOT/writers文 件,同时还要设置CVS REPOS的物理目录权限来完成权限设置,无法完成复杂的权限控制;但是CVS通过CVS ROOT目录下的脚本,提供了相应功 能扩充的接口,不但可以完成精细的权限控制,还能完成更加个性化的功能。

CVS是开发源码软件,无需支付购买费用。

同样因为CVS是开发源码软件,没有生产厂家为其提供技术的支持。如发现问题,通常只能靠自己查找网上的资料进行解决。 StarTeam是Borland公司的配置管理工具,StarTeam属于高端的工具,在易用性,功能和安全性等方面都很不错。

StarTeam的用户界面同VSS的类似,它的所有的操作都可通过图形用户界面来完成,同时,对于习惯使用命令方式的用户,StarTeam也提供命令集进行支持。同时,StarTeam的随机文档也非常详细。

除了具备VSS,CVS所具有功能外,StarTeam还提供了对基于数据库的变更管理功能,是相应工具中独树一帜的。StarTeam还提供了流程定制 的工具,用户可跟据自己的需求灵活的定制流程。与VSS和CVS不同,VSS和CVS是基于文件系统的配置管理工具,而StarTeam是基于数据库的。 StarTeam的用户可根据项目的规模,选取多种数据库系统。

STARTEAM无需通过物理路径的权限设置,而是通过自己的数据库管理,实现了类似WINDOWSNT的域用户管理和目录文件ACL控制。 StarTeam完全是域独立的。这个优势可以为用户模型提供灵活性,而不会影响到现有的安全设置。StarTeam的访问控制非常灵活并且系统。您可以 对工程,视图,文件夹一直向下到每一个小的item设置权限。对于高级别的视图(view),访问控制可以与用户组、用户、项目甚至视图等链接起来。

StarTeam是按license来收费的,比起VSS,CVS来,企业在启动StarTeam进行配置管理需要投入一定资金。

Borland公司将对用户进行培训,并协作用户建立配置管理系统。并对用户提供技术升级等完善的支持。 ClearCase是Rational公司的产品,也是目前使用较多的配置管理工具。

ClearCase的安装和维护远比StarTeam复杂,要成为一个合格的ClearCase的系统管理员,需要接受专门的培训。ClearCase提供命令行和图形界面的操作方式,但从ClearCase的图形界面不能实现命令行的所有功能。

ClearCase提供VSS,CVS,StarTeam所支持的功能,但不提供变更管理的功能。Rational另提供了ClearQuest工具提供 对变更管理的功能,与StarTeam不同,ClearCase后台的数据库是专有的结构。ClearCase对于windows和unix平台都提供支 持。ClearCase通过多点复制支持多个服务器和多个点的可扩展性,并擅长设置复杂的开发过程。

ClearCase的权限设置功能与StarTeam相比,StarTeam有独立的安全管理机制,ClearCase没有专用的安全性管理机制,依赖于操作系统。

要选用ClearCase,需要考虑的费用除购买license的费用外,还有必不可少的技术服务费用,没有Rational公司的专门的技术服务,很难 发挥出ClearCase的威力。如现在网上虽有ClearCase的破解软件,但尝试应用的公司大多失败的缘故。另外,对于web访问的支持,对于变更 管理的支持功能都要另行购买相应的软件。

Rational公司已被IBM公司收购,所以有可靠的售后服务保证。 SVN全名Subversion,即版本控制系统。

SVN与CVS一样,是一个跨平台的软件,支持大多数常见的操作系统。作为一个开源的版本控制系统,Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。Subversion 是一个通用的系统, 可用来管理任何类型的文件, 其中包括了程序源码。

SubVersion:实现服务系统的软件。

TortoiseSVN:是SVN客户端程序,为windows外壳程序集成到windows资源管理器和文件管理系统的Subversion客户端。

SVNService.exe:是专为 SubVersion 开发的一个用来作为 Win32 服务挂接的入口程序。

AnkhSVN:是一个专为Visual Studio提供SVN的插件。 SourceAnywhere系列是由加拿大公司Dynamsoft开发的,有三个产品,SourceAnywhere for VSS, SourceAnywhere Standalone, SourceAnywhere Hosted.

SourceAnywhere for VSS是微软推荐的远程和跨平台访问VSS的工具。SourceAnywhere Standalone界面风格与VSS相似,但它是基于SQL Server的,且有其它一些安全和远程访问机制,可以广域网中使用;支持把数据从VSS库中导入SourceAnywhere。SourceAnywhere Hosted是SourceAnywhere Standalone的托管服务SaaS。 Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理.

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具。开放源码社区中的有些人觉得 BitKeeper 的许可证并不适合开放源码社区的工作,因此 Torvalds 决定着手研究许可证更为灵活的版本控制系统。尽管最初 Git 的开发是为了辅助 Linux 内核开发的过程,但是我们已经发现在很多其他自由软件项目中也使用了 Git。例如 最近就迁移到 Git 上来了,很多 Freedesktop 的项目也迁移到了 Git 上。

软件系统怎么做版本管理?

软件开发好之后,代码不是一成不变的,需要不断调整,比如新增功能,优化功能,修复bug。

那么如何去区分不同时期阶段的代码呢?就有了所谓的版本管理概念,比如刚发布的软件系统定义为1.0版本,推出新功能之后就是1.1版本。

我们通过命名版本号的方式来区分不同版本的代码,例如1.1版本新增了1个功能,优化了2个功能,修复了3个bug。

来看一个实际的例子,我们开源的likeadmin是怎么做版本管理的。

likeadmin的所有代码变更都公开在gitee代码托管平台,大家可以看到我们的程序员每次提交的代码更新日志。

每当研发完成一个版本的所有规划功能,我们会在gitee发布新版本。发布新版本之后,程序员就可以继续进行新的功能研发了。

接下来虽然不断会有新的代码提交,但是直接点击对应版本的下载链接,就能下载该版本的代码了,不会弄混,这有点 历史 镜像的感觉。

另外,为了进一步方便大家下载likeadmin不同版本的代码,并且了解版本之间的区别,我们专门在官网做了一个更新 历史 的页面。

这个页面,点击进去就是一个时间轴,记录了不同版本的发布日期,版本变化。

这就是likeadmin的版本管理方式了。

欢迎点赞加关注,带你一起深入了解程序员视界。

软件开发的三大资源

人力资源、代码资源和文档资源。

代码资源一般需要通过版本管理工具进行管理。为什么需要版本管理工具,一方面是因为现代软件开发是一个团队活动,是需要进行协作开发的。另一方面版本管理具有回溯历史版本的功能,在排错中具有重要意义。文档管理。软件开发中文档可以分为一下几类:1、设计文档。如概要设计、详细设计,2、交流文档。如内部会议记录、和甲方的交流邮件,3,经验总结。如技术总结、开发中用到的电子书。

文档资源的作用:首先设计方面的文档本身就是甲方要求的,你不想写都不行,二是文档可以作用过程资产来共享。svn版本库下一般有三个目录:trunk、branches和tags。trunk很好理解,就是存放最新版本代码的目录,branches作为存放分支版本的目录,主要起到一个试验的作用。比如当你试验一个新的绘图引擎,你在主干版本试验就不太合适。因为主干版本的代码是经常处在剧烈变动的状态,很可能导致试验无法进行,同时你编写试验代码也会影响其它人的代码。因此稳妥的办法是你复制一份主干版本到branches目录下作为一个分支来试验,待试验通过后再和主干版本进行代码合并。tags主要作用在于存放不作改动的比较稳定的历史版本。比如你要对外发布版本,你不可能编译最新代码来获取一个版本来对外发布,因为这个版本虽然是最新的,但肯定不是最稳定的,因为没有经过严格测试。因此你需要从tags目录下找一个稳定的历史版本来发布。

软件开发版本管理的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于软件开发版本管理流程、软件开发版本管理的信息别忘了在本站进行查找喔。

扫码二维码