subcon使用笔记
在温习flickr的ppt时,看到里面提到了一个叫subcon的工具。由于这个工具已经在google code上开源,所以我毫不客气的下载回来细细端详:
- 这工具用python写的
- 用svn保存配置文件,用subcon比较容易的部署到多台服务器上
- 既然是用svn保存,那么回滚到指定版本也是支持的
- SystemImager工具的集成是做为添头附送的,理论上你可以利用这个工具做到一步安装服务器
初印象就是如此,实际的使用时,你首先要在svn上创建两个目录
- base
- roles
然后可以试着提交一些服务器配置文件例如/etc/hosts到base下,再通过简单命令把配置同步到服务器上
subcon -n
也可以指定别的类型的配置文件例如www或者memcache,以服务器apache配置文件/etc/httpd为例:
- 创建目录roles/www
- 提交/etc/httpd目录到roles/www目录下
- 十来个字符就可以部署这些文件到服务器上
CODE:
-
subcon -n -owww
-
同样的道理,只要在roles路径下新增各种类型的配置文件,就能比较快捷的部署到服务器上。还有些小功能,需要使用中自己挖掘了:
- 更改某个配置文件之后,自动执行指定的命令行,参看/etc/subcon.conf
- 回滚配置文件到指定版本的功能,这功能一般是在悲剧发生时才会使用吧?所以这个功能也很悲剧的有bug,手工hack一下才能使用。提示:在代码中找到revision字样,用int转换一下类型,命令行参数到了python里面估计都算string了。
- 如果有多个服务器共用部分配置文件,可以利用svn:externals属性创建一个链接
- subcon实际上是python的svn客户端 + rsync
工具很简单,也有些bug,但是足够用了。
作者: Volcano 发表于December 10, 2009 at 8:24 am