使用SVN,我正在考虑使用SVN导出命令将第一个版本(版本1.0)发布到生产服务器。然后?如何升级?
升级的下一步是什么?例如,如果我想释放下一个将会是1.1的版本,应该怎么做?在不删除所有文件的情况下,是否有办法从标签升级?
使用SVN,我正在考虑使用SVN导出命令将第一个版本(版本1.0)发布到生产服务器。然后?如何升级?
升级的下一步是什么?例如,如果我想释放下一个将会是1.1的版本,应该怎么做?在不删除所有文件的情况下,是否有办法从标签升级?
一般释放步骤:
Create a Tag从主/测试分支。这是已发布的代码。没有分支就不能修改。这是1.0版本。您在生产服务器上构建并部署此代码。
在主分支(trunk)中继续编码版本1.1。在v1.1结束时,您将创建另一个标签,它将成为发布版本1.1。等等。
理想情况下,每发布一个标签。如果有固定的版本必须转到先前发布的版本,那么从该标签(例如1.0)中(1)create a branch,(2)将问题修复到分支中,(3)从该分支中创建另一个标签作为发布版本1.0.1
请注意,在整个过程中没有文件被删除。您只需创建新的分支,即您的代码库的cheap-copies。
更新
但后来我怎样才能升级到标签生产1.1吗? SVN导出会覆盖现有文件并删除标签1.1中删除的文件吗?这是我的担心。
两件事情
出口确实不从任何地方删除任何文件。它下载一个干净的副本(没有.svn和其他特定于SVN的东西)作为参数提供给它的URL。看到这里svn export
当creating a branch或标签,你应该复制。而不是导出,然后是导入。最常见的发布流程看起来像下图:(对不起,可怜的艺术)
SVN仓库各国时间
/---> Tag 1.0.1(release to prod)
/--- Branch 1.0.1 for spot-fixes----|
/ |
/---Tag 1.0 (released to prod) v (merge fixes) /---Tag 1.1 (released to prod)
Trunk ----->'------Development for v1.1----------------'----------------->'----Development for v1.2-->
没有什么东西是不断删除,您有标签每次发布。
听起来像你想做一些持续的整合。
你可以挂钩各种构建服务器以便与SVN服务器集成,这样你可以迭代地发布你的构建版本。
比使用导出手动更自动化。
看一看
http://www.thoughtworks-studios.com/go-agile-release-management/
或
http://www.jetbrains.com/teamcity/
有其他那里还堆...
但后来我怎么样可以升级到1.1标签中生产? SVN导出会覆盖现有文件并删除标签1.1中删除的文件吗?这是我的担心。 – CIF 2011-03-02 22:04:23
@WSM更新了答案 – Nishant 2011-03-03 04:53:43