

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

# 使用 AMS SSP 在您的 AMS 帳戶中佈建 AMS Code 服務
<a name="code-services"></a>

使用 AMS 自助式服務佈建 (SSP) 模式直接存取 AMS 受管帳戶中的 AMS Code 服務功能。AMS Code 服務是 AWS 程式碼管理服務的專屬綁定，如下所述。您可以選擇使用 AMS Code 服務在 AMS 中部署所有服務，也可以在 AMS 中個別部署這些服務。

AMS Code 服務包含下列服務：
+ AWS CodeCommit：全受管[來源控制](https://aws.amazon.com/devops/source-control)服務，可託管安全的 Git 型儲存庫。它讓團隊可以在安全且高度可擴展的生態系統中協作程式碼。CodeCommit 無需操作您自己的來源控制系統或擔心擴展其基礎設施。您可以使用 CodeCommit 安全地存放從原始程式碼到二進位檔的任何內容，並與您現有的 Git 工具無縫搭配使用。如需進一步了解，請參閱 [AWS CodeCommit](https://aws.amazon.com/codecommit/)

  若要在獨立於 AMS Code 服務的 AMS 帳戶中部署此項目，請參閱 [使用 AMS SSP AWS CodeCommit 在您的 AMS 帳戶中佈建](codecommit.md)。
+ AWS CodeBuild：全受管持續整合服務，可編譯原始程式碼、執行測試，並產生準備好部署的軟體套件。使用 CodeBuild，您便不必佈建、管理、擴展自己的組建伺服器。CodeBuild 會持續擴展並同時處理多個組建，所以您的組建不必排入佇列中等候。您可以利用預先封裝好的組建環境立即開始使用，或是建立自訂的組建環境來使用您自己的組建工具。使用 CodeBuild 時，將依據您使用運算資源的分鐘數計費。如需進一步了解，請參閱 [AWS CodeBuild](https://aws.amazon.com/codebuild/)

  若要在獨立於 AMS Code 服務的 AMS 帳戶中部署此項目，請參閱 [使用 AMS SSP AWS CodeBuild 在您的 AMS 帳戶中佈建](code-build.md)。
+ AWS CodeDeploy：全受管部署服務，可將軟體部署自動化至各種運算服務，例如 Amazon EC2 和您的內部部署伺服器。 AWS CodeDeploy 可協助您快速發行新功能，協助您避免應用程式部署期間的停機時間，並處理更新應用程式的複雜性。您可以使用 AWS CodeDeploy 來自動化軟體部署，無需進行容易出錯的手動操作。服務會擴展以符合您的部署需求。如需進一步了解，請參閱 [AWS CodeDeploy](https://aws.amazon.com/codedeploy/)

  若要在獨立於 AMS Code 服務的 AMS 帳戶中部署此項目，請參閱 [使用 AMS SSP AWS CodeDeploy 在您的 AMS 帳戶中佈建](code-deploy.md)。
+ AWS CodePipeline：全受管[持續交付](https://aws.amazon.com/devops/continuous-delivery/)服務，可協助您自動化發行管道，以實現快速可靠的應用程式和基礎設施更新。根據您定義的發行模型，CodePipeline 可以自動在每次程式碼變更時建置、測試和部署程式碼。這可讓您快速且可靠地交付功能和更新。您可以輕鬆地 AWS CodePipeline 與第三方服務整合，例如 GitHub 或您自己的自訂外掛程式。使用 時 AWS CodePipeline，您只需支付使用量的費用。沒有預付費用，也無需長期承諾。如需進一步了解，請參閱 [AWS CodePipeline](https://aws.amazon.com/codepipeline/)

  若要在獨立於 AMS Code 服務的 AMS 帳戶中部署此項目，請參閱 [使用 AMS SSP AWS CodePipeline 在您的 AMS 帳戶中佈建](code-pipeline.md)。

## AWS Managed Services 常見問答集中的 AMS 程式碼服務
<a name="set-code-services-faqs"></a>

**問：如何請求存取 AMS 帳戶中的 AMS Code 服務？**

透過提交管理 \$1 AWS 服務 \$1 自助佈建服務 \$1 新增 （受管自動化） (ct-3qe6io8t6jtny) 變更類型來請求存取權。此 RFC 會將下列 IAM 角色佈建至您的帳戶：`customer_code_suite_console_role`。在帳戶中佈建之後，您必須在聯合解決方案中加入角色。此時，AMS Operations 也會在您的帳戶中部署 CodeBuild`customer_codebuild_service_role`、CodeDeploy 和 CodePipeline `customer_codedeploy_service_role``aws_code_pipeline_service_role`服務的 、、 服務角色。如果需要 的其他 IAM 許可`customer_codebuild_service_role`，請提交 AMS 服務請求。

**注意**  
您也可以個別新增這些服務；如需相關資訊[使用 AMS SSP AWS CodePipeline 在您的 AMS 帳戶中佈建](code-pipeline.md)，請分別參閱 [使用 AMS SSP AWS CodeDeploy 在您的 AMS 帳戶中佈建](code-deploy.md)、 [使用 AMS SSP AWS CodeBuild 在您的 AMS 帳戶中佈建](code-build.md)和 。

**問：在我的 AMS 帳戶中使用 AMS Code 服務有哪些限制？**
+ AWS CodeCommit：CodeCommit 上的觸發功能會因為建立 SNS 主題的相關權限而停用。針對 CodeCommit 的直接驗證受到限制；使用者應該使用登入資料協助程式進行驗證。有些 KMS 命令也會受到限制： kms:Encrypt、 kms:Decrypt、 kms:ReEncrypt、 kms:GenereteDataKey、 kms:GenerateDataKeyWithoutPlaintext 和 kms:DescribeKey。
+ CodeBuild：對於 AWS CodeBuild 主控台管理員存取，許可在資源層級受到限制；例如，CloudWatch 動作在特定資源上受到限制，且`iam:PassRole`許可受到控制。
+ CodeDeploy：目前 CodeDeploy 僅支援在 Amazon EC2/內部部署部署。不支援透過 CodeDeploy 在 ECS 和 Lambda 上部署。
+ CodePipeline：CodePipeline 功能、階段和提供者僅限於下列項目：
  + 部署階段：Amazon S3 和 AWS CodeDeploy
  + 來源階段：Amazon S3 AWS CodeCommit、位元儲存貯體和 GitHub
  + 組建階段： AWS CodeBuild 和 Jenkins
  + 核准階段：Amazon SNS
  + 測試階段： AWS CodeBuild、Jenkins、BlazeMeter、Ghost Inspector UI 測試、Micro Focus StormRunner Load、Runscope API 監控
  + 調用階段：Step Functions 和 Lambda
**注意**  
AMS Operations 會在您的帳戶`customer_code_pipeline_lambda_policy`中部署 ；它必須與 Lambda 叫用階段的 Lambda 執行角色連接。提供您要新增此政策的 Lambda 服務/執行角色名稱。如果沒有自訂 Lambda 服務/執行角色，則 AMS 會建立名為 的新角色`customer_code_pipeline_lambda_execution_role`，這是 ` customer_lambda_basic_execution_role` 與 的複本`customer_code_pipeline_lambda_policy`。

**問：在我的 AMS 帳戶中使用 AMS Code 服務的先決條件或相依性是什麼？**
+ CodeCommit：如果 S3 儲存貯體使用 AWS KMS 金鑰加密， AWS KMS 則需要 S3 和 才能使用 AWS CodeCommit。
+ CodeBuild：如果定義的 AWS CodeBuild 服務角色需要額外的 IAM 許可，請透過 AMS 服務請求請求它們。
+ CodeDeploy：無。
+ CodePipeline：None. AWS supported 服務—AWS CodeCommit、 AWS CodeBuild、 AWS CodeDeploy—必須在啟動 CodePipeline 之前啟動，或與 CodePipeline 一起啟動。不過，這由 AMS 工程師完成。