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

AWS 文檔 AWS SDK示例 GitHub 回購中有更多SDK示例

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

CreateDeployment配 AWS SDK或使用 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 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:此命令會在堆疊中圖層中的所有 Linux 執行個體上建立新的應用程式部署。 AWS OpsWorks 即使您指定了圖層 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 指令程CreateDeployment式參考中的。