自动执行多个节点的Solaris自定义软件部署和配置

时间:2010-11-22 14:47:04

标签: deployment automation solaris

基本上,我想问的问题与Solaris 10上软件包部署的自动化有关。

具体来说,我在tar文件中有一组软件组件,它们在主机环境中提取和配置后作为守护进程运行。与任何服务器端软件包非常相似,我需要确保在提取和运行软件之前满足一系列先决条件。例如:

  • 检查某些用户是否存在,并且他们与一个或多个用户组相关联。如果没有,则创建它们及其组关联。

  • 检查目标应用程序文件夹是否存在,如果不存在,则使用在组装软件包时定义的预配置路径值创建它们。

  • 检查此类文件夹是否具有适当的访问控制级别和特定用户的所有权。如果没有,则设置它们。

  • 检查/ etc / profile中是否定义了一组环境变量,指向预定义的路径位置,添加到常规$ PATH环境变量,最后导出到用户的环境中。其他文件包括/ etc / services和/ etc / system。

显然,手动执行此操作对于许多方框(有问题的目标)肯定会很慢并且容易出错。

我相信一个更好的选择是以某种方式自动化这个过程。到目前为止,我已经考虑了以下选项,并因某种原因将其丢弃。

  1. 传统的shell脚本。我以前只对这些问题进行了解决,而且我对它们并没有多少经验。这些将是我的最后一招。

  2. 使用pexpect库分析系统命令输出的Python脚本。这是我最初的选择,因为目标Solaris环境已安装它。但是,我想确保我不再重新启动轮子:P。

  3. Ant或Gradle脚本。它们可能是一个选项,因为这些框也启用了Java 1.5,文件集抽象可能非常有用。但是,在处理用户和文件夹权限检查/设置时,它们可能会失败。

  4. 在我看来,我不是第一个遇到这种情况的人,但我似乎没有找到适合此目的的实用程序框架。如果有更好的方法可以告诉我。

    感谢您的时间和帮助。

1 个答案:

答案 0 :(得分:1)

这些步骤中的大部分都听起来就像使用包装系统来安装包装一样。在Solaris 10上,这将是操作系统中包含的SVR4 packaging system