为什么要把配置保存在仓库里?

作为后端我们经常会遇到运维性质的活儿,比如测试环境起一个容器化数据库,或者是要改改Nginx配置等等。在很久以前,其实我们是跑商去改完了就算了,甚至包括数据库也是这样,测试环境改完了,生产环境抄过去再改一次。

但是我认为应该要把这些配置放在一个repo里,这样子有如下几个好处:

  • 历史可追溯:通过版本控制系统保存每一次提交的改动,这样子当我们不明白为什么出现这个改动时,可以通过注释和历史提交来追溯
  • 可以review:有了仓库以后,我们就可以把改动发给同事进行review,降低故障率
  • 可以自动化:通过诸如ansible等工具的支持,我们可以实现部署自动化,这样做的好处包括但不限于可以一键部署多个机器,可以重复执行而不出错误,例如typo
  • 可以提前测试:把配置放到仓库以后,我们可以配置一些CI脚本进行检测

这就是我推崇配置保存在仓库里的原因。当然,也不是全无坏处,比如一些私密的 东西如数据库连接串等,不方便直接保存到仓库里,但是我们仍然有办法, 比如用 ansible-vault 来进行加密以后,再进行保存。

可以说这是一个量好的实践和习惯。全文完。


更多文章
  • C, Go, Python的错误处理和异常机制杂谈
  • 好的命名是最好的文档
  • 读《系统之美:决策者的系统思考》
  • Linux高分屏支持
  • GCC默认的头文件搜索路径
  • 读《远见-如何规划职业生涯3大阶段》
  • 后端工程师学前端(五): SASS
  • 后端工程师学前端(四): CSS进阶(盒子模型)
  • 读《投资中最简单的事》
  • 后端工程师学前端(三): CSS进阶(特指度、单位和字体族)
  • 后端工程师学前端(二): CSS基础知识(规则与选择器)
  • Swift语法笔记
  • 读《管理的实践》
  • 后端工程师学前端(一): HTML
  • frp 源码阅读与分析(二):TCP内网穿透的实现