使用“从SVN发布”;“出口”;然后?如何升级?

使用“从SVN发布”;“出口”;然后?如何升级?,svn,release,Svn,Release,使用SVN,我考虑使用SVN export命令将第一个构建(1.0版)发布到生产服务器 升级的下一步是什么?例如,如果我想发布下一个版本,它将是1.1,那么应该怎么做?在不删除所有文件的情况下,是否有方法仅从标签升级?常规发布步骤: 来自主/测试分支。这是发布的代码。没有分支就无法修改。这是1.0版。您可以在生产服务器上构建并部署此代码 继续在主分支(主干)中为版本1.1编码。在v1.1的末尾,您将创建另一个标签,该标签将发布到1.1版。等等 理想情况下,每个版本都保留一个标签。如果有spot

使用SVN,我考虑使用SVN export命令将第一个构建(1.0版)发布到生产服务器

升级的下一步是什么?例如,如果我想发布下一个版本,它将是1.1,那么应该怎么做?在不删除所有文件的情况下,是否有方法仅从标签升级?

常规发布步骤:

  • 来自主/测试分支。这是发布的代码。没有分支就无法修改。这是1.0版。您可以在生产服务器上构建并部署此代码

  • 继续在主分支(主干)中为版本1.1编码。在v1.1的末尾,您将创建另一个标签,该标签将发布到1.1版。等等

  • 理想情况下,每个版本都保留一个标签。如果有spot fixed必须转到以前发布的版本,则您(1)从该标记(例如1.0),(2)修复分支中的问题,(3)从该分支创建另一个标记作为发布版本1.0.1

    请注意,在整个过程中不会删除任何文件。您只是在创建新的分支,这些分支是您的代码库的一部分


    更新

                                                            /---> 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-->  
    

    但是,如何在生产中升级到标签1.1呢?SVN导出是否会覆盖现有文件并删除在标记1.1中删除的文件?这是我关心的问题

    两件事

  • 导出不会从任何位置删除任何文件。它下载您作为参数提供给它的URL的干净副本(没有.svn和其他特定于svn的内容)。看这里

  • 您应该复制的时间或标记。而不是先出口后进口。最常见的发布流程如下图所示:(为可怜的艺术感到抱歉)

  • 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服务器集成,这样您就可以迭代地发布构建

    比通过导出手动执行更自动化

    看看


    还有很多其他人…

    但我如何才能在生产中升级到标签1.1?SVN导出是否会覆盖现有文件并删除在标记1.1中删除的文件?这是我关心的问题。