介绍
随着时间的推移,软件会发生变化。 对软件的要求不会一成不变。
它提供的功能及其用途将基于反馈进行扩展、更改和调整。
应用程序托管也可能随着新操作系统、新框架及其版本而发展。
原始实现可能包含缺陷和 bug。 无论出于什么原因进行更改,软件都不太可能是稳定且无需更改的。
由于你构建的软件依赖于其他组件,因此你构建或在构建软件时使用的组件和包也是如此。
为了跟踪当前正在使用的软件部分,正确的版本控制对于维护代码库至关重要。
版本控制也与依赖项管理相关,因为它与包的版本和其中的组件有关。
每个依赖项都按其名称和版本进行标识。 它允许跟踪所使用的确切包。 每个包都有其生命周期和变化率。
不可变包
当包获取新版本时,代码库可以选择何时使用它所使用的包的新版本。
它通过指定它需要的包的特定版本来实现这一点。 这意味着包本身在更改时应始终具有新版本。
无论何时将包发布到源,都不应再允许对其进行更改。 如果进行了更改,会面临对代码引入潜在中断性变更的风险。 本质上,已发布的包是不可变的。
不允许替换或更新包的现有版本。 大多数包源不允许更改当前版本的操作。
无论更改大小如何,只能通过引入新版本来更新包。
新版本应指明更改的类型及其可能产生的影响。
本模块介绍用于打包的版本控制策略、版本控制最佳做法和包提升。
学习目标
完成本模块后,学生和专业人员能够:
- 实施版本控制策略。
- 提升包。
- 从管道推送包。
- 描述语义并探索版本控制最佳做法。
先决条件
- 了解什么是 DevOps 及其相关概念。
- 熟悉版本控制原则会有所帮助,但这不是必需的。
- 如果有过在提供软件的组织中工作的经验,会很有帮助。
- 你需要为一些练习创建一个 Azure DevOps 组织和一个团队项目。 如果你还没有它,请参阅: