如何配置 OpsWorks 以部署非官方支持的 Node.js 版本?

Posted

技术标签:

【中文标题】如何配置 OpsWorks 以部署非官方支持的 Node.js 版本?【英文标题】:How do I configure OpsWorks to deploy a not-officially-supported version of Node.js? 【发布时间】:2015-12-28 22:27:32 【问题描述】:

我正在尝试将 OpsWorks 堆栈设置为使用最新版本的 Node (4.1.1) 的 Node.js 层。我对 Chef 还很陌生,我不确定我需要在食谱存储库中的哪个位置进行更改才能下拉并安装 Node 4.1.1,而不是默认的 0.12.7。

感谢任何帮助。

【问题讨论】:

厨师超市里有一本nodejs食谱。你试过吗? supermarket.chef.io/cookbooks/nodejs 我看过了,但看起来它已设置为部署旧版本的 Node.js。我尝试将 AWS 提供的 Chef 配方更改为 4.1.1。问题是它调用了亚马逊拥有的存储库,而他们没有将该版本添加到他们的存储库中。而且我对厨师的了解还不够多,无法从头开始。 您可能需要在带有属性的包装食谱中尝试超市的 nodejs 配方以设置正确的版本。请在此处评论它的进展情况。 【参考方案1】:

需要做两件事:

您需要一个自定义图层 您需要引入包含较新 nodejs 的食谱/食谱

执行此操作的最简单方法是使用此处概述的 berkshelf:http://docs.aws.amazon.com/opsworks/latest/userguide/cookbooks-101-opsworks-berkshelf.html#opsworks-berkshelf-opsworks

在berksfile 中添加supermarket.chef.io 作为源,nodejs 作为recipe。

您可以在 opsworks 堆栈配置中指定节点版本。 使用自定义层中的配方,您应该已设置好。

【讨论】:

以上是关于如何配置 OpsWorks 以部署非官方支持的 Node.js 版本?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 MacOS 中安装 chef 12 以部署到 AWS Opsworks?

如何通过 cloudformation 部署 opsworks 应用程序?

如何防止 OpsWorks 部署默认部署到我的自定义层?

使用 Jenkins 和 Opswork 集成进行持续部署

AWS OpsWorks新增Amazon RDS支持

OpsWorks 在部署时运行挂钩