网络自动化中的持续集成:构建自动化与部署策略
1. 构建自动化
构建自动化是一个极其重要的话题,它主要源于使用持续集成(CI)工具自动编译或安装软件以进行测试。例如,用C语言编写的程序在测试环境中运行之前必须先进行编译。
在我们的流程中,不一定是在编译软件,但可以复用软件开发人员希望对仓库中每个提议的更改自动执行的许多任务。例如,Python项目的流程可能会执行静态代码分析,以确保代码符合Python的风格指南PEP 8。在网络自动化环境中,我们可能只是对YAML文件进行更改,但也可以执行类似的检查,以自动处理一些我们不希望人工审核人员处理的简单事情,比如验证文件是否为有效的YAML(确保缩进正确)。
构建自动化的价值在于,在麻烦人工审核人员之前,我们可以自动执行许多操作,以确保审核人员提供有用的评论。这些操作包括:
- 静态代码分析(检查语法是否正确以及是否符合任何风格指南)
- 单元测试(单元测试、数据文件或模板的解析等)
- 集成测试(检查更改是否会破坏整个系统中的任何现有功能)
这些自动化步骤通常在提交更改(如之前示例中的合并请求)时立即执行,只有当这些检查通过后才会邀请审核人员进行审核。这一过程为提交者和审核者都节省了时间,因为提交者如果其更改导致问题,几乎可以立即得到反馈,而审核者知道如果更改通过了这些基本测试,就不会在简单的评论上浪费时间。这种方法还能为网络自动化工作带来可重复、更稳定的更改,当发现一个错误时,可以将其添加到这些自动化测试中,以确保不会再次发生。
有许多构建自动化的解决方案,幸运的是,GitLab本身包含一些构建自动化功能。例如,我们对新的 interfaces.ym
超级会员免费看
订阅专栏 解锁全文

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



