有软件包可以在这两种类型的发行版之间进行选择:


滚动发行版。
长期支持(= LTS)发行版。

以可用的Ubuntu版本为例。想象一下:


某些软件需要Linux服务器,
决定(无论出于何种原因)选择使用Ubuntu,
决策者做了知道这些发行类型的实际含义。
事实证明,从16.04及更高版本开始的任何发行版本都可以使用,
,但是无论选择哪种发行版本,所有Dev / QA / Operational服务器都必须运行相同的发行版本。

问题:

应根据什么标准来决定选择哪种发布类型?

#1 楼

我认为没有一个适用于所有软件包或情况的好答案。

滚动发布的风险更大,因为无法预测何时会发生变化。您可能昨晚安装了该东西,并且已经有更新要处理。但是该更新有什么作用?是否有足够的信息来知道您是否需要?有时,但这完全取决于开发者/公司发布软件包。

使用滚动发行软件包之前需要考虑以下几点:


谁是软件包的主要用户以及在什么环境下?
您对风险的承受力是什么?
您执行升级的过程是什么?

LTS版本旨在用于更长的时间并且通常具有已发布的生存期,使您能够在更新包/系统结束之前就计划和测试到下一个LTS版本的迁移。

我的建议是服务器(除沙盒/研发机器)应使用LTS版本。在台式机上,这取决于最终用户和个人的需求。

实际上,我要说的是,除非有具体且非常好的理由要发布滚动版本,否则我总是这么说。请使用LTS发行版。

注意:

与上流社会打交道时,呼吁他们不要花钱的愿望总是一个好策略。从长远来看,考虑到员工测试,安装,处理新版本中的错误等所花费的时间,滚动发布会更昂贵。尽管您必须使用LTS发行版来做这些事情,但是它们的使用寿命意味着大大减少。

#2 楼

滚动版本较新,具有尖端功能,但潜在的缺陷更多。 LTS更稳定。如果稳定性是您的首要任务(通常对于DevOps而言),则可以使用LTS。

注意:部署自己的代码通常与在最新版本或LTS版本之间进行选择无关。第三方产品。您希望您的外部依赖关系尽可能稳定,以减轻风险,以便您可以自由地更频繁地发布自己的产品。

评论


我之所以投票,是因为我不认为稳定性是DevOps的首要任务。更加平衡的优先事项可能是:提高开发人员的敏捷性,同时保持可用性目标。优先考虑稳定性会激励较少的更改,这与经常引用的DevOps的“经常部署和快速失败”的追求相矛盾。

–林地猎人
17 Mar 5 '17 at 0:23



@WoodlandHunter对不起,我完全不同意;如果您没有任何信心(从稳定性/可重复性中获得),那么您不仅会降低变革的难度,而且会带来风险。顺便说一句,尽管这个社区接受有目的的贡献,但我不确定以意见为基础进行投票是可以的。

–ᴳᵁᴵᴰᴼ
17年5月5日,1:13

部署自己的代码通常与在第三方产品的最新优势或LTS版本之间进行选择无关。您希望您的外部依赖关系尽可能稳定,以减轻风险,以便您可以自由地更频繁地发布自己的产品。

–阿德里安
17 Mar 5 '17 at 4:00

我同意这一点,阿德里安。我反对“稳定是DevOps的首要任务”。

–林地猎人
17 Mar 5 '17 at 4:31

可靠性是DevOps的重要组成部分,我相信系统的稳定性和避免故障是其中很大的一部分。对于LTS,“稳定性”的含义实际上是“避免更改”,这并不是您必须要拥有的那种稳定性,但是此答案仍然是正确的。

– Evgeny Zislis
17 Mar 5 '17 at 14:11