我已经为我的 Web 应用程序设置了一个自动部署脚本(在 shell 脚本中)。
它使用 java、tomcat、maven 和 postgres 数据库。
部署脚本执行以下操作:
- 从源存储库构建可部署的应用程序
- 停止Tomcat
- 应用数据库迁移补丁
- 在tomcat中部署war文件
- 启动 tomcat(通过调用 $TOMCAT_HOME/bin/startup.sh)
- 退出并显示成功消息
一切正常,而且非常整洁 - 但需要一点改进。您会看到,即使它退出并显示成功消息,有时部署也不会成功,因为 Web 应用程序没有正确启动。
我想重构步骤 5 和 6,以便在启动 tomcat 服务器后,部署脚本将在 catalina.out 文件中“tail -f”,查找“服务器已成功启动”消息或异常堆栈跟踪。
到那时为止的 tail -f 输出应该是部署脚本输出的一部分,并且步骤 6 将相应地“退出 0”或“退出 1”。
我知道这应该是可能的,如果不是在 shell 脚本中,也许是 python。问题是我是一名 Java 专家——所谓专家,我的意思是我对其他一切都很糟糕 :-)
请帮忙?:-)