背景
由 laf 发展方向探讨: 与 Git/SVN 等代码版本控制工具/平台 的对接 衍生出的另一个思考方向。
首先声明:这个应该是后期才需要考虑的东西(当然老板们觉得意义大现在搞也可)
大意
用一些yaml、json、描述型的语言来把laf的一些操作、动作、配置全部转变成 配置信息。
举个例子,就像 Jenkins 的 Configuration as Code,把从图形化界面才能配置好整个插件的各种设置,转变成了写一些yaml 就能自动化地配置好。
又比如像 vscode 的 settings.json,jb家的 .dea 文件夹,把工作区配置化了,不同的人打开之后界面是一样的。
意义
可以把 laf 需要手动点的地方全部支持配置化。
举个例子,比如依赖的安装,我不确定是否能支持配置化(现在我只知道能在浏览器里手动安装)。就可以搞一个配置文件,声明要安装什么依赖。这样子一推上去就能部署起来。
所以总体的意义是
- 让整个 laf 项目能一键推上去,除了代码本身,还有环境、配置、依赖项等各种需要再次手动操作的细节。最终的效果可能是,我只要有一个laf的repo template,我在laf申请个账号,建个project,我就能把其他人的项目一键部署到我自己身上
- 配置化的好处在于,为各种自动化、生态建设铺路