自动化发布与基础设施即代码实践
1. 自动化发布
1.1 构建示例与流程
在自动化发布中,以构建示例 Build #41 为例,它由持续构建触发,并引用了两个 JIRA 票证。之后会启动发布构建(发布 Maven 工件)和推广构建(将生成的工件推广到不同的暂存仓库),此构建为 Build #42。其发布历史会记录在 Artifactory 的发布历史面板中。
1.2 数据库自动变更处理
1.2.1 数据库更新脚本分类
在 DevOps 中,数据库元素也应自动发布。可将数据库更新脚本分为扩展脚本和收缩脚本:
- 扩展脚本 :可在不破坏数据库与应用程序现有版本向后兼容性的情况下应用的数据库更改,例如添加新表或列等元素。这些脚本可在升级相应应用程序之前的任何时间运行。
- 收缩脚本 :迁移数据库并破坏向后兼容性,例如移除结构或清理数据。此过程将数据库迁移与应用程序部署解耦。
1.2.2 自动发布数据库的挑战与解决方案
自动发布数据库的一个高级挑战是将数据库的当前版本(即当前的结构元素集,如表、列及其数据)与完整发布的其他部分的当前版本关联起来。可通过将数据库元素纳入版本控制,创建标签并将所有配置项添加到定义的基线来解决。
自动部署数据库变更需要一个支持增量应用数据库变更,同时保留当前结构和内容的过程。更新现有数据库的常见活动如下:
1. 将所有数据库元素(和所有变更集)纳入版本控制。
2. 创建 SQL 脚本,用于向前滚动到数据库的下一个版本,以及向后滚动到
超级会员免费看
订阅专栏 解锁全文
1320

被折叠的 条评论
为什么被折叠?



