跨平台脚本

跨平台脚本

我使用 Bash 脚本将高度定制的 JBoss 版本部署到 RHEL 机器上。这些脚本执行的操作包括根据正在创建的实例的名称更新端口绑定偏移量等。

我们现在需要在 Windows 上运行相同的安装。

一种选择是在 Cygwin 下运行 Bash 脚本,但在采用这种方式之前,我想探索其他选项。这些脚本并不特别复杂,它们会进行一些参数解析、一些搜索和替换以及大量复制。

我认为 Ant 是一种生成单一、可靠、跨平台部署脚本的方法。还有其他选择吗?

答案1

Python、PHP、Ruby、Perl 等均可在 Windows 和 Linux 下运行。

答案2

如果您使用 ant,则可以用脚本语言对其进行补充。Groovy 的 antbuilder 类非常适合此用途,我认为 jruby 现在可以做到这一点。您可以从 groovy 中使用 ant,也可以从 ant 中使用 groovy。我选择前者。我还最终使用 JNA 进行本机调用,例如 symlink、stat、chown、system,因为 java 的文件操作可能存在错误和不足。我使用 jruby 项目中的一个名为 jna-posix 的库,因为它可以完成我想要做的所有事情并处理跨平台问题。

如果您只想使用 bash 脚本,您可以考虑使用 msysgit。msys 项目没有安装程序,因此最简单的安装方法是安装适用于 Windows 的 git,它带有非常完整的 msys/mingw 环境。

相关内容