CreateDeployment 搭配 CLI 使用 - AWS SDK 程式碼範例

文件 AWS SDK AWS 範例 SDK 儲存庫中有更多可用的 GitHub 範例。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

CreateDeployment 搭配 CLI 使用

下列程式碼範例示範如何使用 CreateDeployment

CLI
AWS CLI

範例 1:部署應用程式和執行堆疊命令

下列範例示範如何使用 create-deployment命令來部署應用程式和執行堆疊命令。請注意,指定命令的 JSON 物件中的引號 (") 字元前面都是逸出字元 (\)。如果沒有逸出字元,命令可能會傳回無效的 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 寶石。

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
for PowerShell 工具

範例 1:此命令會在層 in AWS OpsWorks Stacks 中的所有 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:此命令會從phpapp食譜中部署appsetup配方,並從testcookbook食譜中部署secbaseline配方。部署目標是一個執行個體,但堆疊 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