【问题标题】:How to write a cross platform setup script in Ruby如何在 Ruby 中编写跨平台设置脚本
【发布时间】:2014-07-31 12:16:28
【问题描述】:

我是 ruby​​ 的新手,刚刚开始了解它的潜力。所以我试图将它用于我的日常任务。其中之一是在本地机器上设置 Web 服务以进行测试。它设置脚本应该:

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

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

  • 安装 JDK(如果未安装)

  • 安装 MySQL(如果未安装)并执行一些 SQL 来创建和设置 DB

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

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

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

问候

R.

【问题讨论】:

  • 安装过程是否跨平台相似?
  • 基本上是的——我需要在 mysql、mvn 和 hbase 上执行相同的步骤并运行相同的命令。但是JDK、Maven、Hadoop和MySQL的安装过程在其他平台上是不同的。我不一定需要在安装过程中包含这个,但它会是一个不错的功能。
  • 对于类似的过程 - 查看rake。对于差异 - 这与任何脚本(或文档)中的问题相同 - 检测它是哪个环境,然后运行相关代码......
  • 我希望有一些独立于平台的 gem 来运行 maven、hbase 等。
  • 我怀疑你在 ruby​​ 中找不到太多 maven 支持,因为它是一个 java 工具...

标签: mysql ruby installation cross-platform hbase


【解决方案1】:

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

People 软件包 Cookbooks 用于管理安装和配置配方组,这些配方通常基于一个软件。

遇到弥合 Windows 和 Unix 之间差距的问题。尽管现在 Chef 确实提供了良好的 Windows 支持,但大多数 Chef/community 食谱将主要支持 Linux,因为它们可以依赖 Windows 缺乏的底层包管理器。通常,您最终可能会找到/使用专门用于 Windows 安装的单独的 Windows 说明书。

如果您确实需要进行 Windows 安装,请查看使用 Chocolatey,它是 cookbook,它为 Windows 提供了类似 unix 的包接口,因此您无需担心手动打包软件或处理带有随机 NSIS/MSI 安装程序选项。

如果您确实扩展了其中一本 Unix 食谱以支持 Windows,请善待并将其回馈给社区。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多