与 AWS SDK或CreateDeployment一起使用 CLI - AWS SDK代码示例

AWS 文档 AWS SDK示例 GitHub 存储库中还有更多SDK示例

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

与 AWS SDK或CreateDeployment一起使用 CLI

以下代码示例演示如何使用 CreateDeployment

CLI
AWS CLI

示例 1:部署应用程序和运行堆栈命令

以下示例说明如何使用create-deployment命令部署应用程序和运行堆栈命令。请注意,JSON对象中指定命令的 quote (") 字符均以转义字符 (\) 开头。如果没有转义字符,该命令可能会返回一个无效的JSON错误。

以下create-deployment示例将应用程序部署到指定的堆栈。

aws opsworks create-deployment \ --stack-id cfb7e082-ad1d-4599-8e81-de1c39ab45bf \ --app-id 307be5c8-d55d-47b5-bd6e-7bd417c6c7eb --command "{\"Name\":\"deploy\"}"

输出:

{ "DeploymentId": "5746c781-df7f-4c87-84a7-65a119880560" }

示例 2:部署 Rails 应用程序并迁移数据库

以下create-deployment命令将 Ruby on Rails 应用程序部署到指定的堆栈并迁移数据库。

aws opsworks create-deployment \ --stack-id cfb7e082-ad1d-4599-8e81-de1c39ab45bf \ --app-id 307be5c8-d55d-47b5-bd6e-7bd417c6c7eb \ --command "{\"Name\":\"deploy\", \"Args\":{\"migrate\":[\"true\"]}}"

输出:

{ "DeploymentId": "5746c781-df7f-4c87-84a7-65a119880560" }

有关部署的更多信息,请参阅AWS OpsWorks 用户指南中的部署应用程序

示例 3:运行食谱

以下create-deployment命令在指定堆栈中的实例上运行自定义配方。phpapp::appsetup

aws opsworks create-deployment \ --stack-id 935450cc-61e0-4b03-a3e0-160ac817d2bb \ --command "{\"Name\":\"execute_recipes\", \"Args\":{\"recipes\":[\"phpapp::appsetup\"]}}"

输出:

{ "DeploymentId": "5cbaa7b9-4e09-4e53-aa1b-314fbd106038" }

有关更多信息,请参阅《AWS OpsWorks 用户指南》中的 “运行堆栈命令”。

示例 4:安装依赖关系

以下create-deployment命令在指定堆栈中的实例上安装依赖项,例如软件包或 Ruby gem。

aws opsworks create-deployment \ --stack-id 935450cc-61e0-4b03-a3e0-160ac817d2bb \ --command "{\"Name\":\"install_dependencies\"}"

输出:

{ "DeploymentId": "aef5b255-8604-4928-81b3-9b0187f962ff" }

有关更多信息,请参阅《AWS OpsWorks 用户指南》中的 “运行堆栈命令”。

  • 有关API详细信息,请参阅AWS CLI 命令参考CreateDeployment中的。

PowerShell
用于 PowerShell

示例 1:此命令在 Stacks 中某个层中的 AWS OpsWorks 所有基于 Linux 的实例上创建新的应用程序部署。即使您指定了层 ID,也必须指定堆栈 ID。该命令允许部署在需要时重启实例。

New-OPSDeployment -StackID "724z93zz-zz78-4zzz-8z9z-1290123zzz1z" -LayerId "511b99c5-ec78-4caa-8a9d-1440116ffd1b" -AppId "0f7a109c-bf68-4336-8cb9-d37fe0b8c61d" -Command_Name deploy -Command_Arg @{Name="allow_reboot";Value="true"}

示例 2:此命令部署appsetup食谱中的phpapp食谱和secbaseline食谱中的testcookbook食谱。部署目标是一个实例,但也需要堆栈 ID 和层 ID。Command_Arg 参数allow_reboot属性设置为true,允许部署在需要时重启实例。

$commandArgs = '{ "Name":"execute_recipes", "Args"{ "recipes":["phpapp::appsetup","testcookbook::secbaseline"] } }' New-OPSDeployment -StackID "724z93zz-zz78-4zzz-8z9z-1290123zzz1z" -LayerId "511b99c5-ec78-4caa-8a9d-1440116ffd1b" -InstanceId "d89a6118-0007-4ccf-a51e-59f844127021" -Command_Name $commandArgs -Command_Arg @{Name="allow_reboot";Value="true
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考CreateDeployment中的。