

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 安装自定义说明书
<a name="workingcookbook-installingcustom-enable"></a>

**重要**  
该 AWS OpsWorks Stacks 服务于 2024 年 5 月 26 日终止，新客户和现有客户均已禁用。我们强烈建议客户尽快将其工作负载迁移到其他解决方案。如果您对迁移有疑问，请通过 re [AWS : Post 或通过 Pre](https://repost.aws/) mium Su [AWS pp](https://aws.amazon.com/support) ort 与 AWS 支持 团队联系。

要让堆栈安装和使用自定义说明书，您必须将堆栈配置为启用自定义说明书 (如果尚未配置)。然后，您必须提供存储库 URL 和任何相关信息，如密码。

**重要**  
将堆栈配置为支持自定义食谱后， OpsWorks Stacks 会在启动时自动将您的食谱安装到所有新实例上。但是，您必须通过运行[**更新自定义食谱 OpsWorks 堆栈命令明确指示 Stacks 在任何现有实例上安装新的或更新的食谱**](workingstacks-commands.md)。有关更多信息，请参阅 [更新自定义说明书](workingcookbook-installingcustom-enable-update.md)。在堆栈上启用 **Use custom Chef cookbooks (使用自定义 Chef 说明书)** 之前，请确保您运行的自定义和社区说明书支持堆栈所使用的 Chef 版本。

**为自定义说明书配置堆栈**

1. 在您的堆栈页面上，单击 **Stack Settings** 以显示其 **Settings** 页面。单击 **Edit** 以编辑设置。

1. 将 **Use custom Chef cookbooks** 切换为 **Yes**。  
![\[编辑堆栈设置页面\]](http://docs.aws.amazon.com/zh_cn/opsworks/latest/userguide/images/stack_settings_edit.png)

1. 配置您的自定义说明书。

完成后，单击 **Save** 以保存更新后的堆栈。

## 指定自定义说明书存储库
<a name="workingcookbook-installingcustom-enable-repo"></a>

Linux 堆栈可从以下任意一种存储库类型中安装自定义说明书：
+ HTTP 或 Amazon S3 存档。

  它们可以是公有或私有，但 Amazon S3 通常是私有存档的首选选项。
+ Git 和 Subversion 存储库提供源代码控制，并且让您可以有多个版本。

Windows 堆栈可从 Amazon S3 存档和 Git 存储库中安装自定义说明书。

所有存储库类型均具有以下必填字段。
+ **存储库类型**：存储库的类型
+ **存储库 URL**：存储库的 URL

OpsWorks Stacks 支持公共托管的 Git 存储库站点，例如[GitHub](https://github.com/)或 [Bitbucke](https://bitbucket.org) t 以及私有托管的 Git 服务器。对于 Git 存储库，您必须使用以下一种 URL 格式，具体取决于存储库是公有还是私有。遵循与 Git 子模块相同的 URL 准则。

对于公有 Git 存储库，请使用 HTTPS 或 Git 只读协议：
+ Git 只读：`git://github.com/amazonwebservices/opsworks-example-cookbooks.git`。
+ HTTPS：`https://github.com/amazonwebservices/opsworks-example-cookbooks.git`。

对于私有 Git 存储库，必须使用 SSH read/write 格式，如以下示例所示：
+ Github 存储库：`git@github.com:project/repository`。
+ Git 服务器上的存储库：`user@server:project/repository`

剩余的设置会因存储库类型而异，以下各节将介绍这些设置。

### HTTP 存档
<a name="workingcookbook-installingcustom-enable-repo-http"></a>

为 **Repository type** 选择 **Http Archive** 时将显示两个额外的设置，如果该存档受密码保护，则您必须完成这两个设置。
+ **用户名**：您的用户名
+ **Password** - 您的密码

### Amazon S3 归档
<a name="workingcookbook-installingcustom-enable-repo-s3"></a>

为**存储库类型**选择 **S3 存档**会显示以下其他可选设置。 OpsWorks 无论您使用 Stacks API 还是控制台，堆栈都可以使用 Amazon EC2 角色（主机操作系统管理员身份验证）访问您的存储库。 OpsWorks 
+ **访问密钥 ID** — AWS 访问密钥 ID，例如AKIAIOSFODNN7EXAMPLE。
+ **秘密访问密钥** — 相应的 AWS 秘密访问密钥，例如wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY。

### Git 存储库
<a name="workingcookbook-installingcustom-enable-repo-git"></a>

选择 **Source Control** 下的 **Git** 会显示以下额外可选设置：

**存储库 SSH 密钥**  
您必须指定一个部署 SSH 密钥来访问私有 Git 存储库。对于 Git 子模块，指定的密钥必须有权访问这些子模块。有关更多信息，请参阅 [使用 Git 存储库 SSH 密钥](workingapps-deploykeys.md)。  
部署 SSH 密钥不需要密码； OpsWorks Stacks 无法通过密码。

**分支/修订**  
如果存储库有多个分支， OpsWorks Stacks 会默认下载主分支。要指定特定的分支，请输入分支名称、 SHA1 哈希值或标签名称。要指定特定提交，请输入完整的 40 位十六进制提交 ID。

### Subversion 存储库
<a name="workingcookbook-installingcustom-enable-repo-svn"></a>

选择 **Source Control** 下的 **Subversion** 会显示以下额外可选设置：
+ **用户名**：您的针对私有存储库的用户名称。
+ **密码**：您的针对私有存储库的密码。
+ **修订**：[可选] 修订名称（如果您有多个修订）。

  要指定分支或标记，您必须修改存储库 URL，例如：**http://repository\$1domain/repos/myapp/branches/my-apps-branch** 或 **http://repository\$1domain\$1name/repos/calc/myapp/my-apps-tag**。