使用 AWS CLoudFormation 模板在 tomcat 上部署 Java 应用程序的自定义食谱
Posted
技术标签:
【中文标题】使用 AWS CLoudFormation 模板在 tomcat 上部署 Java 应用程序的自定义食谱【英文标题】:Custom cook book to deploy java app on tomcat using AWS CLoudFormation template 【发布时间】:2015-01-16 20:40:11 【问题描述】:我正在尝试使用 AWS opsworks 部署 java webapp/tomcat,但我没有找到任何在 ec2 上配置 tomcat 然后部署我的 java 应用程序的说明书。有人可以为我提供定制食谱吗? 我需要应用程序的链接和自定义说明书。实际上我正在尝试使用云形成模板。
我的云形成模板
"myStack":
"Type": "AWS::OpsWorks::Stack",
"Properties":
"CustomCookbooksSource":
"Type": "git",
**"Url": "xxx (url for the cookbook)"**
--
"myApp":
"Type": "AWS::OpsWorks::App",
"Properties":
"StackId":
"Ref": "myStack"
,
"Type": "java",
"Name":
"Ref": "AppName"
,
"AppSource":
"Type": "git",
**"Url": "xxx (url for the java app)",**
"Revision": "version2"
,
"Attributes":
"DocumentRoot": "web"
**显示需要更改的地方。
【问题讨论】:
【参考方案1】:也许我不理解某个警告,但 OpsWorks 对您的应用的默认部署是否有问题?
在 OpsWorks 中,如果您转到应用程序,您可以选择添加一个应用程序,然后将其部署到您的 Java 应用程序服务器层中的任何/所有正在运行的实例。如果您选择以这种方式添加/部署您的应用程序,OpsWorks 会为您做很多工作,并让您的应用程序以合理的默认值正确运行/设置。
我不知道 OpsWorks 在部署时的具体操作,但可以在 GitHub 上查看 OpsWorks 在不同生命周期事件中使用的 Chef 配方。您可以在 https://github.com/aws/opsworks-cookbooks 上查看它们,或者在 OpsWorks 本身中单击一个层,然后单击配方,然后单击您要查看的配方。
这个通过 OpsWorks 控制台的默认添加应用和部署对我有用。
注意:我通常做的是依赖 OpsWorks 对我的 Java webapp 的默认部署,但是我有额外的自定义说明书来制作一些目录、设置环境变量等——但对于webapp 的部署,我让 OpsWorks 处理。
【讨论】:
以上是关于使用 AWS CLoudFormation 模板在 tomcat 上部署 Java 应用程序的自定义食谱的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Cloudformation 模板/CDK 中添加 AWS IoT 配置模板
在 Cloudformation 模板中为 AWS API Gateway 使用 IAM 角色
使用 cloudformation 模板的 AWS Lambda 的动态环境变量
如何修复与 AWS::CloudFormation::Init 一起创建 EC2 的 cloudformation 模板