fsword's blog

A blogging framework for hackers.

持续集成中的缺环-2

| Comments

「接上篇」比较新旧两个图,可以发现,除了要做好多应用的部署自动化以外,还有一个问题需要我们考虑,那就是资源的自动分配。

常见的是数据库资源,由于我们过去一直依赖DBA分配数据库帐号,每次测试都是使用的同样的一个数据库,这样一来,开发人员想要测试就要申请自己的数据库资源,有新来的同学如果不知道,就会用源码中配好的那个数据库链接,如果这时有人在测试,那就悲剧了。而如果偶尔需要多个分支一起开发,情况就更加可怕。

解决这个问题的办法是资源隔离和动态分配。而且,这个做法不只限于数据库,几乎所有的基础设施都要这么做,你会发现这个环境似乎有些象“云”,好吧,虽然我不喜欢这个buzz word,但是沿着这个思路走下去,确实可以用到一些“云xx”的技术,我们只要拿来主义就可以了。

循着这个思路,我们搭建了一些支持动态分配资源的服务,这是后续工作的基础。为了能够方便的操控部署工作,我又把自己一直负责的easy commander(以前叫 AppOSS)也嫁接了过来,这样我们就得到了这些

部署图

对单个应用而言,本来就有一些shell脚本(例如执行 maven 打包和启动停止服务器之类),所以我只要简单写一些ruby脚本负责协作,就让这个原型跑了起来,经过验证,可行。

接下来要做什么?我们现在仅仅用脚本驱动了起来,而ruby语言在我们这个团队中并不是公共知识,所以最好能够开发一些 DSL ,让大家简单的写一些“配置文件”,就能让自己关心的几个系统部署好。

如何实现这些DSL呢?明天接着说

Comments