如何在Ruby中编写跨平台安装脚本

时间:2014-07-31 12:16:29

标签: mysql ruby installer cross-platform hbase

我是ruby的新手,刚开始了解它的潜力。所以我试着用它来完成我的日常工作。其中一个原因是在本地计算机上设置Web服务进行测试。它设置脚本应该:

  • 查看subversion存储库中的几个项目

  • 安装Hadoop(如果尚未安装),启动服务器并在hbase shell中执行一些命令

  • 安装JDK(如果没有安装)

  • 安装MySQL(如果没有安装)并执行一些SQL来创建和设置数据库

  • 安装maven(如果没有安装)并运行一些maven任务。

所以这就是这笔交易。我希望这是一个跨平台的安装程序 - 它应该能够在Windows,Linux或OsX上安装Webservice。

是否有可能在Ruby中实现这一点以及哪些宝石对该任务有用?有没有更好的方法来创建这样的安装例程?

问候

R上。

1 个答案:

答案 0 :(得分:0)

看看Chef。它为管理系统提供了一个自动化框架。它是用Ruby编写的,你使用的主要是Ruby recipe DSL

人们打包Cookbooks来管理安装和配置组的组,这些组通常基于一个软件。

遇到弥合Windows和Unix之间差距的问题。虽然Chef确实提供了良好的Windows支持,但是大多数Chef / community cookbook主要支持Linux,因为他们可以依赖Windows缺少的底层包管理器。通常,您最终可能会专门为Windows安装查找/使用单独的Windows cookbook。

当您需要进行Windows安装时,请查看使用Chocolatey及其cookbook,它为Windows提供了类似unix的程序包界面,因此您不需要担心手动打包软件或处理随机NSIS / MSI安装程序选项。

如果您确实扩展了其中一个Unix烹饪书以支持Windows,那么请将其贡献给社区。