Tomcat rpm/deb或puppet/chef/salt-应用程序的安装脚本从何处开始?

Tomcat rpm/deb或puppet/chef/salt-应用程序的安装脚本从何处开始?,tomcat,puppet,rpm,Tomcat,Puppet,Rpm,我们有一个java web应用程序(war)在Ubuntu上运行,这对于a)安装和b)安装更新都很耗时。我们想让它自动化,但我们不知道rpm包可以做什么,配置工具(如puppet/chef/salt等)可以/应该做什么。我们没有资源去尝试所有的事情 有两台服务器需要一次性配置——一台使用mysql,另一台使用tomcat和java。每个应用程序都需要编辑配置文件(my.cnf、server.xml),以及安装其他东西(如sendmail),为我们的应用程序创建用户,在~/.grails中添加一个

我们有一个java web应用程序(war)在Ubuntu上运行,这对于a)安装和b)安装更新都很耗时。我们想让它自动化,但我们不知道rpm包可以做什么,配置工具(如puppet/chef/salt等)可以/应该做什么。我们没有资源去尝试所有的事情

有两台服务器需要一次性配置——一台使用mysql,另一台使用tomcat和java。每个应用程序都需要编辑配置文件(my.cnf、server.xml),以及安装其他东西(如sendmail),为我们的应用程序创建用户,在~/.grails中添加一个配置文件,并具有特定于环境的设置。大概这只能通过木偶之类的东西来完成,或者手工完成,而不是使用rpm脚本

其次,我们的应用程序有许多步骤需要完成。我们正要尝试学习和使用rpm,但我们不确定这是否是正确的方法

这是我们安装应用程序的步骤:

  • wget在我们的系统用户主页目录中分解和解包
  • 复制我们的战争和液化文件
  • 创建一个脚本,在mysql服务器上运行liquibase,并用环境使用的任何名称替换IP/DB名称
  • 阻止雄猫
  • 运行脚本以更新数据库架构
  • 将war放入webapps目录
  • 启动tomcat
  • 检查日志文件中的错误
  • 问题是我们不知道如何让rpm知道mysql服务器ip地址之类的信息,除非应该使用环境变量?或者我们根本不应该使用rmp,只是使用傀儡来做任何事情

    问题是,关于RPM应该做什么,以及在RPM之外应该做什么的指导原则是什么

    a。初始服务器配置包括mysl、tomcat和系统用户,以及

    b。安装我们应用程序的更新(通常只是一个新的war和一个必须执行的新liquibase变更日志),但有时可能需要更改配置文件

    两者都可以移动文件和运行脚本


    我们的应用程序没有可编译的源代码,它独立于任何体系结构(只需要java)

    鉴于您的情况,我不认为通过RPM完成所有工作都是可行的。 当然,您可以使用它来部署应用程序二进制文件(现在打包东西非常容易,如果您不知道的话,可以看看FPM)。 但除此之外,您还需要一个配置管理系统,它可以更改文件中的配置,并在文件更改时(如重新启动服务或自定义命令)选择性地执行命令

    我是一个傀儡用户,但我认识到,在像您这样的情况下,仅为2台服务器启动并运行基础设施有点过火(chef and salt也是如此)

    你可以看看ansible()。它是一个编排工具,可以安装软件包、管理配置文件和执行命令。最棒的是:它不需要任何基础设施,您可以通过ssh从工作站/笔记本电脑运行它。
    它非常强大,而且很容易开始使用。

    考虑到您的情况,我不认为通过RPM做任何事情都是可行的。 当然,您可以使用它来部署应用程序二进制文件(现在打包东西非常容易,如果您不知道的话,可以看看FPM)。 但除此之外,您还需要一个配置管理系统,它可以更改文件中的配置,并在文件更改时(如重新启动服务或自定义命令)选择性地执行命令

    我是一个傀儡用户,但我认识到,在像您这样的情况下,仅为2台服务器启动并运行基础设施有点过火(chef and salt也是如此)

    你可以看看ansible()。它是一个编排工具,可以安装软件包、管理配置文件和执行命令。最棒的是:它不需要任何基础设施,您可以通过ssh从工作站/笔记本电脑运行它。
    它非常强大,而且很容易开始使用。

    考虑到您的情况,我不认为通过RPM做任何事情都是可行的。 当然,您可以使用它来部署应用程序二进制文件(现在打包东西非常容易,如果您不知道的话,可以看看FPM)。 但除此之外,您还需要一个配置管理系统,它可以更改文件中的配置,并在文件更改时(如重新启动服务或自定义命令)选择性地执行命令

    我是一个傀儡用户,但我认识到,在像您这样的情况下,仅为2台服务器启动并运行基础设施有点过火(chef and salt也是如此)

    你可以看看ansible()。它是一个编排工具,可以安装软件包、管理配置文件和执行命令。最棒的是:它不需要任何基础设施,您可以通过ssh从工作站/笔记本电脑运行它。
    它非常强大,而且很容易开始使用。

    考虑到您的情况,我不认为通过RPM做任何事情都是可行的。 当然,您可以使用它来部署应用程序二进制文件(现在打包东西非常容易,如果您不知道的话,可以看看FPM)。 但除此之外,您还需要一个配置管理系统,它可以更改文件中的配置,并在文件更改时(如重新启动服务或自定义命令)选择性地执行命令

    我是一个傀儡用户,但我认识到,在像您这样的情况下,仅为2台服务器启动并运行基础设施有点过火(chef and salt也是如此)

    你可以看看ansible()。它是一个编排工具,可以安装软件包、管理配置文件和执行命令。最棒的是:它不需要任何基础设施,您可以通过ssh从工作站/笔记本电脑运行它。 这是一个非常强大的工具