软件发布生命周期

Posted

技术标签:

【中文标题】软件发布生命周期【英文标题】:Software release lifecycle 【发布时间】:2016-07-06 13:04:55 【问题描述】:

在提出问题之前,我更愿意提供有关当前发布策略的背景信息。就这样吧:

我们使用 git 作为版本控制系统。

当前进程

    我们在每月冲刺中发布。 每个人都只提交到主分支。 代码冻结日在发布开始前就已修复。 在代码冻结当天,master 被阻止进行新提交,并且最终确定了一个发布候选。 从主版本为该版本创建一个新分支,例如 16.7(年.月)。 最后,master 可供进一步开发使用。

所以现在正在考虑从当前流程转移到一个新流程,如下所示:

新流程

    将有 3 个版本预览,主要、次要。 预览版本类似于内部版本,其中大部分内容将在主要版本中进行开发,并且该版本作为预览版提供给客户。 主要版本将包含所有功能齐全的功能。并且准备好生产了。 次要版本将是主要版本的错误修复版本。 所以它就像一个季度的主要版本。

问题

    git 的分支模型如何? 新流程的一些优缺点? 我们可能会面临哪些重大障碍? 应注意哪些事项才能轻松完成过渡?

我找到了一个适合新流程Git branching model的链接

【问题讨论】:

我认为这个问题属于programmer.stackexchange.com,它与您的代码的实际问题无关。 但除此之外:你做什么样的开发,你为什么不满意你现在的流程,你有持续集成等等。 Git 是其中最不相关的部分,它会做任何你想做的事情。 我应该在那边再问一遍还是可以迁移这个问题? @RemcoGerlich @RemcoGerlich 我没有完全通过你做什么样的开发?为了回答这个问题,我们有一款产品是使用 Java 技术开发的基于 Web 的软件。 我们使用 Teamcity 作为构建服务器。 @RemcoGerlich 【参考方案1】:

为什么不以一种已经存在并且已经记录和自动化的方式正式化您的工作流程。通常你让 git 做你想做的事。因此,如果您描述的模式符合您的需求,请接受它。这是贵公司的决定,我们无法真正为您提供外部帮助。

但是,如果您感觉更像是一个更通用的更正式的工作流程(有些人会说更受限制),您不必为其编写文档,请对 git 模式进行一些谷歌搜索,例如吉特流。也许这对你会更好。

【讨论】:

以上是关于软件发布生命周期的主要内容,如果未能解决你的问题,请参考以下文章

Maven生命周期与插件

了解生命周期:最大生命周期和“静态”

软件生命周期(软件生存周期)

微信小程序生命周期

Vue 生命周期总共分为几个阶段?

[高项]产品生命周期VS项目生命周期