Rails Rails 是否能做这样的事情

haitongz · 2014年01月02日 · 最后由 debugger 回复于 2014年01月11日 · 2764 次阅读

想把目前做的事情 Web 化,使我们的升级过程简单化 之前是通过一系列的脚本,基本上可以实现比较简单的升级 但是为了可以扩展到每个人都可以升级, 我们希望可以 Web 化,也就是通过 Web 调用这些脚本,来实现整个升级流程 不知道 rails 是否适合做这样的工作,或者有没有更好的方案,多谢大家

读了两遍,没看明白。

能啊,就是 wordpress 那一套?只不过没有现成的而已。

如果是内部使用,直接用 git 呗……

#3 楼 @wuwx 谢谢,你的回复 还是希望多一些自己的定制

脚本都有了,就画个网页,触发下脚本然后把输出打印到网页上。

喝汤一样啊

#4 楼 @ruohanc 谢谢你的回复,了解了一下,这的确是个有意思的项目,貌似不太能满足我们的需求

#6 楼 @Yujing_Z 恩恩,是这样子的,我们想来也是这样子,但是考虑到代码的可维护性和以后的扩展性,还是希望在一个比较好的框架上来做,实现按步骤升级,不知道有没有好的建议,谢谢

#7 楼 @haitongz 纯粹的命令下发和查看返回信息嘛,用机器人做多好。web 做的话比较麻烦,还得掌握一些实时交互的核心技术。。

#9 楼 @ruohanc 问题是现在已经实现了发命令返回结果。。。有了 Web,可以少写很多命令,只需要鼠标点点就好了,这样就可以解放之前那个一直敲命令的家伙。。。

#10 楼 @haitongz 好吧,我觉得的优点正好你觉得是缺点

优点就在于这两个是非常类似的,所以实现起来比较容易。

(- -,其实我觉得你们这是蛋疼的工作量不饱和啊!)

使用 rails 完成界面和交互,使用 bash shell 去完成真正的工作,在 web 里面提交表单记录操作日志和驱动脚本 (调用 shell 脚本可以在输入 sidekiq 等队列服务器中去进行),脚本和 rails 可以通过文件、数据库通讯,原来实现的一套在 aws sdk 上管理云服务器的小系统和你描述的需求很相近。其实这个实现跟用不用 rails 没有太大的直接关系。

即便是脚本写的再优秀,有时候状态不好,敲错命令也会铸成大错,使用 web 可以更好的避错,也可以将脚本的执行能力扩散给更多的队友。

#12 楼 @debugger 非常感谢你的回复,和我们想得一样一样的,特别是 “即便是脚本写的再优秀,有时候状态不好,敲错命令也会铸成大错,使用 web 可以更好的避错,也可以将脚本的执行能力扩散给更多的队友。” 谢谢你提供的思路

通俗概括就是“人人都能运维”,应该是可以的,在 web 端就是去调用脚本,显示执行结果,查日志。 如@debugger 所说,和用不用 rails 没太大直接关系,也有想过做着玩意,一直没去做。 python 好像也有类似的项目。

#12 楼 @debugger 不知道有没有类似的项目,可以借鉴?

#14 楼 @wikimo 是的,通过 web 端包装一层,是可以让更多人参与运维,多谢你的回复

@haitongz 我不太知道有没有这样的开源项目,原来我们做的那套,也有很多不完善的地方,因为内部使用,求快,有些地方没有去斟酌,用起来还是蛮好的,管理员收到一个求批准的邮件,在 iphone 上点下放行,就开了个后端的服务器在线上工作。需要结合自己的业务去改善,比如@ruohanc提到的,是否有实时需要考虑的,这个实时得多实时,然后你的脚本的安全性,通用性等需要去做一定的设计,比如你可以在 shell 脚本中包含一些模板标签,web 系统下单的时候去替换或者批量生成一些脚本等...还是有很多细节需要去想。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号