我们有一个在Ubuntu上运行的java web应用程序(war),这对于a)安装程序和b)安装更新非常耗时。我们想将它自动化,但是我们不知道rpm包能做什么和配置工具如puppet/chef/salt等可以/应该做什么之间的界限。我们没有资源去尝试一切。rpm/deb或puppet/chef/salt - 从哪里开始为应用程序安装脚本?
有两台服务器要配置一次 - 一个用mysql,另一个用tomcat & java。每个都需要编辑配置文件(my.cnf,server.xml)以及其他安装的东西(如sendmail),为我们的应用程序创建一个用户,在〜/ .grails中添加一个配置文件以及特定于环境的设置。据推测,这只能通过木偶或手工完成,而不能使用rpm脚本。其次,我们的应用程序有许多步骤可以完成。我们即将尝试学习&使用rpm,但我们不确定这是否是正确的方法。
这是我们做什么来安装我们的应用程序:
- wget的liquibase并在我们的系统中的用户主目录解压。
- 复制我们的战争和liquibase文件焦油。
- 创建一个脚本来针对mysql服务器运行liquibase,并用该环境使用的任何内容替换IP/DB名称。
- stop tomcat。
- 运行脚本以更新数据库模式。
- 将战争放入webapps目录。
- 启动tomcat。
- 检查日志文件是否有错误。
问题是我们不知道如何获得rpm知道像mysql服务器ip地址这样的东西,除非应该使用环境变量?或者我们不应该使用rmp,只是使用puppet来做所有事情?
的问题是,究竟是为了什么应该RPM做的方针,又该外面做,在
一个方面。最初的服务器配置有诸如mysl,tomcat和系统用户之类的东西,以及
b。安装更新到我们的应用程序(这通常只是一个新的战争和一个新的liquibase更新日志,必须执行),但偶尔会需要更改配置文件。
两者都可以移动文件,并运行脚本。
我们的应用程序没有源代码编译,它是独立于任何架构的(只需要JAVA)
这是几个问题 - 分离它会得到更多有用的答案。 –