介绍

已完成

随着时间的推移,软件会发生变化。 对软件的要求不会一成不变。

它提供的功能及其用途将基于反馈进行扩展、更改和调整。

应用程序托管也可能随着新操作系统、新框架及其版本而发展。

原始实现可能包含缺陷和 bug。 无论出于什么原因进行更改,软件都不太可能是稳定且无需更改的。

由于你构建的软件依赖于其他组件,因此你构建或在构建软件时使用的组件和包也是如此。

为了跟踪当前正在使用的软件部分,正确的版本控制对于维护代码库至关重要。

版本控制也与依赖项管理相关,因为它与包的版本和其中的组件有关。

每个依赖项都按其名称和版本进行标识。 它允许跟踪所使用的确切包。 每个包都有其生命周期和变化率。

不可变包

当包获取新版本时,代码库可以选择何时使用它所使用的包的新版本。

它通过指定它需要的包的特定版本来实现这一点。 这意味着包本身在更改时应始终具有新版本。

无论何时将包发布到源,都不应再允许对其进行更改。 如果进行了更改,会面临对代码引入潜在中断性变更的风险。 本质上,已发布的包是不可变的。

不允许替换或更新包的现有版本。 大多数包源不允许更改当前版本的操作。

无论更改大小如何,只能通过引入新版本来更新包。

新版本应指明更改的类型及其可能产生的影响。

本模块介绍用于打包的版本控制策略、版本控制最佳做法和包提升。

学习目标

完成本模块后,学生和专业人员能够:

  • 实施版本控制策略。
  • 提升包。
  • 从管道推送包。
  • 描述语义并探索版本控制最佳做法。

先决条件

  • 了解什么是 DevOps 及其相关概念。
  • 熟悉版本控制原则会有所帮助,但这不是必需的。
  • 如果有过在提供软件的组织中工作的经验,会很有帮助。
  • 你需要为一些练习创建一个 Azure DevOps 组织和一个团队项目。 如果你还没有它,请参阅: