教學課程:建立使用運算執行命令的管道 - AWS CodePipeline

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

教學課程:建立使用運算執行命令的管道

在本教學課程中,您會設定管道,在建置階段中使用 命令動作持續執行提供的建置命令。如需 命令動作的詳細資訊,請參閱 命令動作參考

重要

在建立管道時,CodePipeline 將使用客戶提供的 S3 成品儲存貯體來製作成品。(這與用於 S3 來源動作的 儲存貯體不同。) 如果 S3 成品儲存貯體位於與管道帳戶不同的帳戶中,請確定 S3 成品儲存貯體屬於 AWS 帳戶 安全且可靠的 。

必要條件

您必須已擁有下列各項目:

步驟 1:建立來源檔案並推送到您的 GitHub 儲存庫

在本節中,您會建立範例來源檔案,並將其推送至管道用於來源階段的儲存庫。在此範例中,您會產生並推送下列項目:

  • README.txt 檔案。

建立來源檔案
  1. 使用下列文字建立檔案:

    Sample readme file
  2. 儲存檔案為 README.txt

將檔案推送到您的 GitHub 儲存庫
  1. 將檔案推送或上傳至 儲存庫。這些檔案是 Create Pipeline (建立管道) 精靈針對 AWS CodePipeline中的部署動作所建立的來源成品。在本機目錄中,您的檔案應該如下所示:

    README.txt
  2. 若要在您的本機電腦上從複製的儲存庫中使用 Git 命令列:

    1. 請執行下列命令來同時將所有檔案放入階段:

      git add -A
    2. 執行下列命令,以遞交訊息來遞交檔案。

      git commit -m "Added source files"
    3. 執行下列命令來從本機儲存庫推送檔案到您的 ​ 儲存庫:

      git push

步驟 2:建立管道

在本節中,您可以採取下列動作建立管道:

  • 儲存來源檔案之儲存庫的具有 GitHub (透過 GitHub 應用程式) 動作的來源階段。

  • 具有 命令動作的建置階段。

使用精靈建立管道
  1. 登入 AWS Management Console ,並在 https://http://console.aws.amazon.com/codesuite/codepipeline/home 開啟 CodePipeline 主控台。

  2. Welcome (歡迎) 頁面、Getting started (入門) 頁面、或者 Pipelines (管道) 頁面上,選擇 Create pipeline (建立管道)

  3. 步驟 1:選擇建立選項頁面的建立選項下,選擇建置自訂管道選項。選擇 Next (下一步)

  4. 步驟 2:選擇管道設定中,在管道名稱中輸入 MyCommandsPipeline

  5. CodePipeline 提供 V1 和 V2 類型的管道,其特性和價格各不相同。V2 類型是您可以在 主控台中選擇的唯一類型。如需詳細資訊,請參閱管道類型。如需 CodePipeline 定價的相關資訊,請參閱定價

  6. 服務角色中,選擇新服務角色,以允許 CodePipeline 在 IAM 中建立服務角色。

    注意

    如果您使用的是現有的服務角色,若要使用 命令動作,您需要為服務角色新增下列許可。使用服務角色政策陳述式中的資源型許可,將許可範圍縮小到管道資源層級。如需詳細資訊,請參閱 中的政策範例服務角色政策許可

    • logs:CreateLogGroup

    • logs:CreateLogStream

    • logs:PutLogEvents

  7. Advanced settings (進階設定) 下的設定保留為預設值,然後選擇 Next (下一步)

  8. 步驟 3:新增來源階段中,在來源提供者中選擇 AWS CodeCommit。在儲存庫名稱中,選擇您在 中建立的 CodeCommit 儲存庫名稱步驟 1:建立 CodeCommit 儲存庫。在 Branch name (分支名稱) 中,選擇包含最新程式碼更新的分支名稱。

    選取儲存庫名稱和分支後,會出現一則訊息,顯示要為此管道建立的 Amazon CloudWatch Events 規則。

    選擇 Next (下一步)

  9. 步驟 4:新增建置階段中,選擇命令

    注意

    執行 命令動作會在 中產生個別的費用 AWS CodeBuild。

    輸入下列命令:

    ls echo hello world cat README.txt echo pipeline Execution Id is #{codepipeline.PipelineExecutionId}

    選擇 Next (下一步)

    步驟 4:使用 命令動作新增新管道的建置階段頁面
  10. 步驟 5:新增測試階段,選擇略過測試階段,然後再次選擇略過以接受警告訊息。

    選擇 Next (下一步)

  11. 步驟 6:新增部署階段中,選擇略過部署階段,然後再次選擇略過以接受警告訊息。

    選擇 Next (下一步)

  12. 步驟 7:檢閱中,檢閱資訊,然後選擇建立管道

  13. 建立動作的最終步驟是將環境變數新增至動作,這會導致動作的輸出變數。在命令動作上,選擇編輯。在編輯畫面上,compute輸入變數命名空間欄位,為您的動作指定變數命名空間

    新增 CodeBuild 輸出變數 AWS_Default_Region,然後選擇新增變數

    命令動作的編輯頁面

步驟 3:執行管道並驗證建置命令

發佈變更以執行您的管道。透過檢視執行歷史記錄、建置日誌和輸出變數,驗證建置命令是否執行。

檢視動作日誌和輸出變數
  1. 管道成功執行後,您可以檢視 動作的日誌和輸出。

  2. 若要檢視動作的輸出變數,請選擇歷史記錄,然後選擇時間軸

    檢視新增至動作的輸出變數。Commands 動作的輸出會顯示解析至動作區域的輸出變數。

    命令動作的輸出,顯示已解析至動作區域的輸出變數
  3. 若要檢視動作的日誌,請選擇檢視成功命令動作的詳細資訊。檢視 Commands 動作的日誌。

    Commands 動作的範例日誌