Amazon CodeCatalyst 不再向新客戶開放。現有客戶可以繼續正常使用該服務。如需詳細資訊,請參閱如何從 CodeCatalyst 遷移。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
教學課程:將成品上傳至 Amazon S3
在本教學課程中,您將了解如何使用包含幾個建置動作的 Amazon CodeCatalyst 工作流程,將成品上傳至 Amazon S3 儲存貯體。 CodeCatalyst 工作流程 這些動作會在工作流程開始時串聯執行。第一個建置動作會產生兩個檔案 Hello.txt和 Goodbye.txt,並將其封裝成建置成品。第二個建置動作會將成品上傳至 Amazon S3。您將設定工作流程,在每次將遞交推送至來源儲存庫時執行。
先決條件
開始之前,您必須準備好以下事項:
-
您需要具有連線AWS帳戶的 CodeCatalyst 空間。如需詳細資訊,請參閱建立空間。
-
在您的空間中,您需要一個名為 的空專案:
codecatalyst-artifact-project使用從頭開始選項來建立此專案。
如需詳細資訊,請參閱在 Amazon CodeCatalyst 中建立空專案。
-
在專案中,您需要名為 的 CodeCatalyst 環境:
codecatalyst-artifact-environment設定此環境,如下所示:
-
選擇任何類型的,例如開發。
-
將您的帳戶連接到該AWS帳戶。
-
針對預設 IAM 角色,選擇任何角色。稍後您將指定不同的角色。
如需詳細資訊,請參閱部署至 AWS 帳戶和 VPCs。
-
步驟 1:建立 AWS角色
在此步驟中,您會建立 IAM AWS角色,稍後會指派給工作流程中的建置動作。此角色授予 CodeCatalyst 建置動作許可,以存取AWS您的帳戶並寫入存放成品的 Amazon S3。角色稱為建置角色。
注意
如果您已經有為另一個教學課程建立的建置角色,您也可以將其用於此教學課程。只要確定它具有下列程序中顯示的許可和信任政策即可。
如需 IAM 角色的詳細資訊,請參閱AWSAWS Identity and Access Management《 使用者指南》中的 IAM 角色。
建立建置角色
-
建立角色的政策,如下所示:
-
登入 AWS。
前往 https://console.aws.amazon.com/iam/
開啟 IAM 主控台。 -
在導覽窗格中,選擇政策。
-
選擇 Create policy (建立政策)。
-
請選擇 JSON 標籤。
-
刪除現有的程式碼。
-
貼上以下程式碼:
注意
第一次使用角色執行工作流程動作時,請在資源政策陳述式中使用萬用字元,然後在資源名稱可用後縮小政策的範圍。
"Resource": "*" -
選擇下一步:標籤。
-
選擇下一步:檢閱。
-
在名稱中,輸入:
codecatalyst-s3-build-policy -
選擇建立政策。
您現在已建立許可政策。
-
-
建立建置角色,如下所示:
-
在導覽窗格中,選擇角色,然後選擇建立角色。
-
選擇自訂信任政策。
-
刪除現有的自訂信任政策。
-
新增下列自訂信任政策:
-
選擇下一步。
-
在許可政策中,搜尋
codecatalyst-s3-build-policy並選取其核取方塊。 -
選擇下一步。
-
針對角色名稱,輸入:
codecatalyst-s3-build-role -
針對角色描述,輸入:
CodeCatalyst build role -
選擇建立角色。
您現在已建立具有信任政策和許可政策的建置角色。
-
步驟 2:建立 Amazon S3 儲存貯體
在此步驟中,您會建立 Amazon S3 儲存貯體,其中將上傳 Hello.txt和 Goodbye.txt成品。
建立 Amazon S3 儲存貯體
開啟位於 https://console.aws.amazon.com/s3/
的 Amazon S3 主控台。 -
在主窗格中,選擇建立儲存貯體。
-
針對儲存貯體名稱,輸入:
codecatalyst-artifact-bucket -
對於 AWS 區域,選擇一個區域。本教學假設您選擇了美國西部 (奧勒岡) us-west-2。如需 Amazon S3 支援之區域的相關資訊,請參閱《》中的 Amazon Simple Storage Service 端點和配額AWS 一般參考。
-
在頁面底部,選擇建立儲存貯體。
-
複製您剛建立的儲存貯體名稱,例如:
codecatalyst-artifact-bucket
您現在已codecatalyst-artifact-bucket在美國西部 (奧勒岡) us-west-2 區域中建立名為 的儲存貯體。
步驟 3:建立來源儲存庫
在此步驟中,您會在 CodeCatalyst 中建立來源儲存庫。此儲存庫用於存放教學課程的工作流程定義檔案。
如需來源儲存庫的詳細資訊,請參閱 建立來源儲存庫。
建立來源儲存庫
在 https://https://codecatalyst.aws/
開啟 CodeCatalyst 主控台。 -
導覽至您的專案
codecatalyst-artifact-project。 -
在導覽窗格中,選擇程式碼,然後選擇來源儲存庫。
-
選擇新增儲存庫,然後選擇建立儲存庫。
-
在儲存庫名稱中,輸入:
codecatalyst-artifact-source-repository -
選擇建立。
您現在已建立名為 的儲存庫codecatalyst-artifact-source-repository。
步驟 4:建立工作流程
在此步驟中,您會建立工作流程,其中包含下列循序執行的建置區塊:
-
觸發條件 – 當您將變更推送至來源儲存庫時,此觸發條件會自動啟動工作流程執行。如需觸發程序的詳細資訊,請參閱 使用觸發程序自動啟動工作流程執行。
-
稱為 的建置動作
GenerateFiles– 在觸發時,GenerateFiles動作會建立兩個檔案Hello.txt和Goodbye.txt,並將其封裝成稱為 的輸出成品codecatalystArtifact。 -
另一個名為 的建置動作
Upload–GenerateFiles動作完成時,Upload動作會執行 AWS CLI命令,將codecatalystArtifact和來源儲存庫中的檔案aws s3 sync上傳至 Amazon S3 儲存貯體。在 CodeCatalyst 運算平台上AWS CLI預先安裝並預先設定 ,因此您不需要安裝或設定它。如需 CodeCatalyst 運算平台上預先封裝軟體的詳細資訊,請參閱 指定執行時間環境映像。如需 AWS CLI
aws s3 sync命令的詳細資訊,請參閱《 AWS CLI命令參考》中的同步。
如需建置動作的詳細資訊,請參閱 使用工作流程建置。
建立工作流程
-
在導覽窗格中,選擇 CI/CD,然後選擇工作流程。
-
選擇建立工作流程。
-
刪除 YAML 範例程式碼。
-
新增下列 YAML 程式碼:
注意
在後續的 YAML 程式碼中,您可以視需要省略
Connections:區段。如果您省略本節,您必須確保環境中預設 IAM 角色欄位中指定的角色包含 中所述的許可和信任政策步驟 1:建立 AWS角色。如需使用預設 IAM 角色設定環境的詳細資訊,請參閱 建立環境。Name: codecatalyst-artifact-workflow SchemaVersion: 1.0 Triggers: - Type: Push Branches: - main Actions: GenerateFiles: Identifier: aws/build@v1 Configuration: Steps: # Create the output files. - Run: echo "Hello, World!" > "Hello.txt" - Run: echo "Goodbye!" > "Goodbye.txt" Outputs: Artifacts: - Name: codecatalystArtifact Files: - "**/*" Upload: Identifier: aws/build@v1 DependsOn: - GenerateFiles Environment: Name:codecatalyst-artifact-environmentConnections: - Name:codecatalyst-account-connectionRole:codecatalyst-s3-build-roleInputs: Artifacts: - codecatalystArtifact Configuration: Steps: # Upload the output artifact to the S3 bucket. - Run: aws s3 sync . s3://codecatalyst-artifact-bucket在上述程式碼中,取代:
-
codecatalyst-artifact-environment,其中包含您在 中建立的環境名稱先決條件。 -
codecatalyst-account-connection,其中包含您在 中建立的帳戶連線名稱先決條件。 -
codecatalyst-s3-build-role,其中包含您在 中建立的建置角色名稱步驟 1:建立 AWS角色。 -
codecatalyst-artifact-bucket,內含您在 中建立的 Amazon S3 名稱步驟 2:建立 Amazon S3 儲存貯體。
如需此檔案中屬性的相關資訊,請參閱 建置和測試動作 YAML。
-
-
(選用) 選擇驗證,以確保 YAML 程式碼在遞交之前有效。
-
選擇 Commit (遞交)。
-
在遞交工作流程對話方塊中,輸入下列內容:
-
對於工作流程檔案名稱,保留預設值
codecatalyst-artifact-workflow。 -
針對遞交訊息,輸入:
add initial workflow file -
針對儲存庫,選擇 codecatalyst-artifact-source-repository。
-
針對分支名稱,選擇主要。
-
選擇 Commit (遞交)。
您現在已建立工作流程。由於工作流程頂端定義的觸發條件,工作流程執行會自動啟動。具體而言,當您將
codecatalyst-artifact-workflow.yaml檔案遞交 (並推送) 至來源儲存庫時,觸發會啟動工作流程執行。 -
檢視進行中工作流程執行
-
在導覽窗格中,選擇 CI/CD,然後選擇工作流程。
-
選擇您剛建立的工作流程:
codecatalyst-artifact-workflow。 -
選擇 GenerateFiles 以查看第一個建置動作進度。
-
選擇上傳以查看第二個建置動作進度。
-
當上傳動作完成時,請執行下列動作:
-
如果工作流程執行成功,請前往下一個程序。
-
如果工作流程執行失敗,請選擇日誌來疑難排解問題。
-
步驟 5:驗證結果
工作流程執行後,請前往 Amazon S3 服務並查看您的 codecatalyst-artifact-bucket 儲存貯體。現在應該包含下列檔案和資料夾:
. |— .aws/ |— .git/ |Goodbye.txt |Hello.txt |REAME.md
上傳 Goodbye.txt和 Hello.txt 檔案是因為它們是codecatalystArtifact成品的一部分。.aws/、 和 README.md 檔案已上傳.git/,因為它們位於您的來源儲存庫中。
清除
在 CodeCatalyst 和 中清除 AWS,以避免支付這些服務的費用。
在 CodeCatalyst 中清除
在 https://https://codecatalyst.aws/
開啟 CodeCatalyst 主控台。 -
刪除
codecatalyst-artifact-source-repository來源儲存庫。 -
刪除
codecatalyst-artifact-workflow工作流程。
在 中清除AWS
-
在 Amazon S3 中清除,如下所示:
開啟位於 https://console.aws.amazon.com/s3/
的 Amazon S3 主控台。 -
刪除儲存
codecatalyst-artifact-bucket貯體中的檔案。 -
刪除儲存
codecatalyst-artifact-bucket貯體。
-
在 IAM 中清除,如下所示:
前往 https://console.aws.amazon.com/iam/
開啟 IAM 主控台。 -
刪除
codecatalyst-s3-build-policy。 -
刪除
codecatalyst-s3-build-role。