選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

教學課程:建立簡單的管道 (CodeCommit 儲存庫)

焦點模式
教學課程:建立簡單的管道 (CodeCommit 儲存庫) - AWS CodePipeline

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

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

在本教學課程中,您會使用 CodePipeline 將 CodeCommit 儲存庫中維護的程式碼部署至單一 Amazon EC2 執行個體。當您將變更推送至 CodeCommit 儲存庫時,就會觸發您的管道。管道會使用 CodeDeploy 做為部署服務,將您的變更部署至 Amazon EC2 執行個體。

重要

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

管道有兩個階段:

  • CodeCommit 來源動作的來源階段 (來源)。

  • CodeDeploy 部署動作的部署階段 (CodeDeploy)。

開始使用 的最簡單方法是 AWS CodePipeline 使用 CodePipeline 主控台中的建立管道精靈。

注意

開始之前,請確定您已設定 Git 用戶端來使用 CodeCommit。如需說明,請參閱設定 CodeCommit

步驟 1:建立 CodeCommit 儲存庫

首先,在 CodeCommit 中建立儲存庫。您的管道會在執行時從此儲存庫獲得原始程式碼。您也可以建立本機儲存庫,在將程式碼推送至 CodeCommit 儲存庫之前,先維護和更新程式碼。

建立 CodeCommit 儲存庫

  1. 前往 https://console.aws.amazon.com/codecommit/ 開啟 CodeCommit 主控台。

  2. 在區域選擇器中,選擇您要建立儲存庫和管道的 AWS 區域 。如需詳細資訊,請參閱 AWS 區域 和端點

  3. 請在 Repositories (儲存庫) 頁面上,選擇 Create repository (建立儲存庫)。

  4. Create repository (建立儲存庫) 頁面的 Repository name (儲存庫名稱) 中,輸入儲存庫的名稱 (例如 MyDemoRepo)。

  5. 選擇 Create (建立)。

注意

本教學課程中的其餘步驟會使用 MyDemoRepo 做為 CodeCommit 儲存庫的名稱。如果您選擇不同名稱,請在此教學課程中都使用此名稱。

設定本機儲存庫

在此步驟中,您會設定本機儲存庫來連線至遠端 CodeCommit 儲存庫。

注意

您不需要設定本機儲存庫。您也可以使用 主控台上傳檔案,如 中所述步驟 2:將範本程式碼新增至 CodeCommit 儲存庫

  1. 隨著新儲存庫在主控台開啟後,選擇頁面右上角的 Clone URL (複製 URL),然後選擇 Clone SSH (複製 SSH)。複製 Git 儲存庫的地址會複製到剪貼簿。

  2. 在終端機或命令列,導覽至您要存放本機儲存庫的本機目錄。我們在此教學中使用 /tmp

  3. 執行以下命令來複製儲存庫,將 SSH 地址取代為您在上一個步驟中複製的地址。此命令會建立名為 MyDemoRepo 的目錄。您將範例應用程式複製到此目錄。

    git clone ssh://git-codecommit.us-west-2.amazonaws.com/v1/repos/MyDemoRepo

步驟 2:將範本程式碼新增至 CodeCommit 儲存庫

在此步驟中,您會下載為 CodeDeploy 範例演練建立之範例應用程式的程式碼,並將其新增至 CodeCommit 儲存庫。

  1. 接著,下載範本並將其儲存至本機電腦的資料夾或目錄中。

    1. 選擇下列其中一項。選擇SampleApp_Linux.zip是否要遵循本教學課程中針對 Linux 執行個體執行的步驟。

      • 如果您想要使用 CodeDeploy 部署到 Amazon Linux 執行個體,請在此處下載範例應用程式:SampleApp_Linux.zip

      • 如果您想要使用 CodeDeploy 部署到 Windows Server 執行個體,請在此處下載範例應用程式:SampleApp_Windows.zip

      範例應用程式包含下列檔案,以使用 CodeDeploy 部署:

      • appspec.yml – 應用程式規格檔案 (AppSpec 檔案) 是 CodeDeploy 用來管理部署的 YAML 格式檔案。如需 AppSpec 檔案的詳細資訊,請參閱AWS CodeDeploy 《 使用者指南》中的 CodeDeploy AppSpec 檔案參考

      • index.html – 索引檔案包含已部署範例應用程式的首頁。

      • LICENSE.txt – 授權檔案包含範例應用程式的授權資訊。

      • 指令碼的檔案 – 範例應用程式使用指令碼將文字檔案寫入執行個體上的位置。每個 CodeDeploy 部署生命週期事件都會寫入一個檔案,如下所示:

        • (僅限 Linux 範例) scripts 資料夾 – 資料夾包含下列 shell 指令碼,用於安裝相依性,以及啟動和停止自動化部署的範例應用程式:install_dependenciesstart_serverstop_server

        • (僅限 Windows 範例) before-install.bat – 這是BeforeInstall部署生命週期事件的批次指令碼,將執行此指令碼來移除先前部署此範例期間寫入的舊檔案,並在執行個體上建立位置以寫入新檔案。

    2. 下載已壓縮的檔案。

  2. 將檔案從 SampleApp_Linux.zip 解壓縮至您先前建立的本機目錄 (例如:/tmp/MyDemoRepoc:\temp\MyDemoRepo)。

    請務必直接將檔案放入您的本機儲存庫。不要包含 SampleApp_Linux 資料夾。例如,在本機 Linux、macOS 或 Unix 機器上,您的目錄和檔案階層看起來應該如下所示:

    /tmp └-- MyDemoRepo-- appspec.yml-- index.html-- LICENSE.txt-- scripts-- install_dependencies-- start_server-- stop_server
  3. 若要將檔案上傳至您的儲存庫,請使用下列其中一種方法。

    1. 若要使用 CodeCommit 主控台上傳您的檔案:

      1. 開啟 CodeCommit 主控台,然後從儲存庫清單中選擇您的儲存庫

      2. 選擇 Add file (新增檔案),然後選擇 Upload file (上傳檔案)

      3. 選取 Choose file (選擇檔案),然後瀏覽您的檔案。若要在資料夾下新增檔案,請選擇建立檔案,然後使用檔案名稱輸入資料夾名稱,例如 scripts/install_dependencies。將檔案內容貼到新檔案中。

        輸入您的使用者名稱和電子郵件地址來確定變更。

        選擇 Commit changes (遞交變更)

      4. 為每個檔案重複此步驟。

        您的儲存庫內容看起來應該如下所示:

        -- appspec.yml-- index.html-- LICENSE.txt-- scripts-- install_dependencies-- start_server-- stop_server
    2. 若要使用 git 命令上傳檔案:

      1. 將目錄變更為您的本機儲存庫:

        (For Linux, macOS, or Unix) cd /tmp/MyDemoRepo (For Windows) cd c:\temp\MyDemoRepo
      2. 請執行下列命令來同時將所有檔案放入階段:

        git add -A
      3. 請執行下列命令來確認檔案並附加確認訊息:

        git commit -m "Add sample application files"
      4. 執行下列命令,將檔案從本機儲存庫推送至 CodeCommit 儲存庫:

        git push
  4. 您下載並新增至本機儲存庫的檔案現在已新增至 CodeCommit MyDemoRepo儲存庫中的main分支,並準備好包含在管道中。

步驟 3:建立 Amazon EC2 Linux 執行個體並安裝 CodeDeploy 代理程式

在此步驟中,您會在其中建立部署範例應用程式的 Amazon EC2 執行個體。在此過程中,請建立執行個體角色,允許在執行個體上安裝和管理 CodeDeploy 代理程式。CodeDeploy 代理程式是一種軟體套件,可讓執行個體用於 CodeDeploy 部署。您也可以連接政策,允許執行個體擷取 CodeDeploy 代理程式用來部署應用程式的檔案,並允許 SSM 管理執行個體。

建立執行個體角色
  1. 開啟 IAM 主控台,網址為 https://console.aws.amazon.com/iam/://)。

  2. 從主控台儀表板,選擇 Roles (角色)

  3. 選擇建立角色

  4. 選取信任實體類型下,選取 AWS 服務。在選擇使用案例下,選取 EC2。在 Select your use case (選取您的使用案例) 下,選擇 EC2。選擇下一步:許可

  5. 搜尋並選取名為 的政策AmazonEC2RoleforAWSCodeDeploy

  6. 搜尋並選取名為 的政策AmazonSSMManagedInstanceCore。選擇下一步:標籤

  7. 選擇下一步:檢閱。輸入角色的名稱 (例如,EC2InstanceRole)。

    注意

    記下您的角色名稱,以用於下一個步驟。您會在建立執行個體時選擇此角色。

    選擇建立角色

啟動執行個體
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 從側邊導覽中,選擇執行個體,然後從頁面頂端選取啟動執行個體

  3. 名稱中,輸入 MyCodePipelineDemo。這會為執行個體指派標籤 Name和標籤 MyCodePipelineDemo。稍後,您會建立 CodeDeploy 應用程式,將範例應用程式部署到此執行個體。CodeDeploy 會根據標籤選取要部署的執行個體。

  4. 應用程式和作業系統映像 (Amazon Machine Image) 下,找到具有 AWS 標誌的 Amazon Linux AMI 選項,並確認已選取。(此 AMI 描述為 Amazon Linux 2 AMI (HVM),並標記為「免費方案合格」。)

  5. 執行個體類型下,選擇符合免費方案資格的t2.micro類型做為執行個體的硬體組態。

  6. 金鑰對 (登入) 下,選擇金鑰對或建立一個金鑰對。

    您也可以選擇不使用金鑰對繼續

    注意

    基於本教學的目的,您可以在不使用金鑰對的情況下繼續進行。若要使用 SSH 連接到執行個體,請建立或使用金鑰對。

  7. 網路設定下,執行下列動作。

    自動指派公有 IP 中,請確定狀態為啟用

    針對建立的安全群組,選擇 HTTP,然後在來源類型下,選擇我的 IP

  8. 展開 Advanced Details (進階詳細資訊)。在 IAM 執行個體描述檔中,選擇您在先前程序中建立的 IAM 角色 (例如,EC2InstanceRole)。

  9. 摘要下,於執行個體數量下,輸入 1.。

  10. 選擇啟動執行個體

  11. 您可以在 Instances (執行個體) 頁面上檢視啟動狀態。當您啟動執行個體時,其初始狀態是 pending。在執行個體啟動後,其狀態會變更為 running,並得到公有的 DNS 名稱。(如果 Public DNS (公有 DNS) 欄未顯示,請選擇 Show/Hide (顯示/隱藏) 圖示,然後選擇 Public DNS (公有 DNS)。)

步驟 4:在 CodeDeploy 中建立應用程式

在 CodeDeploy 中,應用程式是一種資源,其中包含您要部署的軟體應用程式。稍後,您將此應用程式與 CodePipeline 搭配使用,以自動將範例應用程式部署到您的 Amazon EC2 執行個體。

首先,您要建立允許 CodeDeploy 執行部署的角色。然後,您可以建立 CodeDeploy 應用程式。

建立 CodeDeploy 服務角色
  1. 開啟 IAM 主控台,網址為 https://console.aws.amazon.com/iam/://)。

  2. 從主控台儀表板,選擇 Roles (角色)

  3. 選擇建立角色

  4. 選取信任的實體下,選擇 AWS 服務。在使用案例下,選擇 CodeDeploy。從列出的選項中選擇 CodeDeploy。選擇 Next (下一步)AWSCodeDeployRole 受管政策已連接至角色。

  5. 選擇 Next (下一步)

  6. 輸入角色的名稱 (例如 CodeDeployRole),然後選擇 Create role (建立角色)

在 CodeDeploy 中建立應用程式
  1. 開啟 CodeDeploy 主控台,網址為 https://https://console.aws.amazon.com/codedeploy

  2. 如果應用程式頁面未顯示,請在功能表中選擇應用程式

  3. 選擇建立應用程式

  4. Application name (應用程式名稱) 中,輸入 MyDemoApplication

  5. Compute Platform (運算平台) 中,選擇 EC2/On-premises (EC2/ 現場部署)

  6. 選擇建立應用程式

在 CodeDeploy 中建立部署群組

部署群組是一種資源,可定義部署相關設定,例如要部署哪些執行個體以及部署這些執行個體的速度。

  1. 在顯示您應用程式的頁面上,選擇 Create deployment group (建立部署群組)

  2. Deployment group name (部署群組名稱) 中,輸入 MyDemoDeploymentGroup

  3. 服務角色中,選擇您先前建立的服務角色的 ARN (例如,arn:aws:iam::account_ID:role/CodeDeployRole)。

  4. Deployment type (部署類型) 下,選擇 In-place (就地進行)

  5. Environment configuration (環境組態) 下,選擇 Amazon EC2 Instances (Amazon EC2 執行個體)。在金鑰欄位中,輸入 Name。在欄位中,輸入您用來標記執行個體的名稱 (例如,MyCodePipelineDemo)。

  6. 在具有 AWS Systems Manager 的客服人員組態下,選擇現在並排程更新。這會在執行個體上安裝 代理程式。Linux 執行個體已使用 SSM 代理程式設定,現在將使用 CodeDeploy 代理程式更新。

  7. Deployment configuration (部署組態) 下,選擇 CodeDeployDefault.OneAtaTime

  8. Load Balancer下,確定未選取啟用負載平衡。您不需要為此範例設定負載平衡器或選擇目標群組。

  9. 選擇 Create deployment group (建立部署群組)

步驟 5:在 CodePipeline 中建立您的第一個管道

您現在已準備好建立和執行您的第一個管道。在此步驟中,您會建立管道,在程式碼推送至 CodeCommit 儲存庫時自動執行。

建立 CodePipeline 管道
  1. 登入 AWS Management Console 並開啟 CodePipeline 主控台,網址為 https://http://console.aws.amazon.com/codesuite/codepipeline/home.。

    前往 https://console.aws.amazon.com/codepipeline/ 開啟 CodePipeline 主控台。

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

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

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

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

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

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

  8. 步驟 3:新增來源階段來源提供者中,選擇 CodeCommit。在儲存庫名稱中,選擇您在 中建立的 CodeCommit 儲存庫名稱步驟 1:建立 CodeCommit 儲存庫。在 Branch name (分支名稱) 中,選擇 main,然後選擇 Next step (下一個步驟)

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

    Change detection options (變更刪除選項) 下,保持預設設定。這可讓 CodePipeline 使用 Amazon CloudWatch Events 來偵測來源儲存庫中的變更。

    選擇 Next (下一步)

  9. 步驟 4:新增建置階段中,選擇略過建置階段,然後再次選擇略過以接受警告訊息。選擇 Next (下一步)

    注意

    在此教學中,您將部署無須建置服務的程式碼,因此可以略過此步驟。不過,如果您的原始程式碼在部署到執行個體之前需要建置,您可以在此步驟中設定 CodeBuild

  10. 步驟 5:新增測試階段中,選擇略過測試階段,然後再次選擇略過以接受警告訊息。

    選擇 Next (下一步)

  11. 步驟 6:新增部署階段部署提供者中,選擇 CodeDeploy。在 Application name (應用程式名稱) 中,選擇 MyDemoApplication。在 Deployment group (部署群組) 中,選擇 MyDemoDeploymentGroup,然後選擇 Next step (下一個步驟)

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

  13. 管道會在建立後開始執行。它會從您的 CodeCommit 儲存庫下載程式碼,並建立 CodeDeploy 部署到您的 EC2 執行個體。當 CodePipeline 範例將網頁部署到 CodeDeploy 部署中的 Amazon EC2 執行個體時,您可以檢視進度、成功和失敗訊息。

    管道開始在 CodePipeline 主控台中執行的檢視。

恭喜您!您剛在 CodePipeline 中建立簡單的管道。

下一步,您會驗證結果。

驗證您的管道是否成功執行
  1. 檢視管道初始進度。每一個階段狀態會從 No executions yet (尚未執行)​ 變更為 In Progress (進行中),然後顯示 Succeeded (成功)​ 或 Failed (失敗)。該管道應會在幾分鐘內完成初次執行。

  2. 管道狀態顯示成功後,在部署階段的狀態區域中,選擇 CodeDeploy。這會開啟 CodeDeploy 主控台。如果未顯示 Succeeded (成功),請參閱 CodePipeline 疑難排解

  3. Deployments (部署) 標籤上,選擇部署 ID。在部署的頁面上的 Deployment lifecycle events (部署生命週期事件) 下,選擇執行個體 ID。這會開啟 EC2 主控台。

  4. Description (敘述) 標籤的 Public DNS (公有 DNS) 中複製地址 (例如,ec2-192-0-2-1.us-west-2.compute.amazonaws.com),然後貼上至 Web 瀏覽器的地址列中。

    網頁會顯示您下載並推送至 CodeCommit 儲存庫的範例應用程式。

如需關於階段、動作以及管道如何運作的更多資訊,請參閱 CodePipeline 概念

步驟 6:修改 CodeCommit 儲存庫中的程式碼

您的管道設定為在程式碼變更 CodeCommit 儲存庫時執行。在此步驟中,您會變更CodeCommit CodeCommit 儲存庫中範例 CodeDeploy 應用程式一部分的 HTML 檔案。推送這些變更時,您的管道會再次執行,並會在您稍早存取的 Web 地址顯示您所做的變更。

  1. 將目錄變更為您的本機儲存庫:

    (For Linux, macOS, or Unix) cd /tmp/MyDemoRepo (For Windows) cd c:\temp\MyDemoRepo
  2. 使用文字編輯器修改 index.html 檔案:

    (For Linux or Unix)gedit index.html (For OS X)open –e index.html (For Windows)notepad index.html
  3. 修訂 index.html 檔案的內容,變更網頁的背景顏色和一些文字,然後儲存檔案。

    <!DOCTYPE html> <html> <head> <title>Updated Sample Deployment</title> <style> body { color: #000000; background-color: #CCFFCC; font-family: Arial, sans-serif; font-size:14px; } h1 { font-size: 250%; font-weight: normal; margin-bottom: 0; } h2 { font-size: 175%; font-weight: normal; margin-bottom: 0; } </style> </head> <body> <div align="center"><h1>Updated Sample Deployment</h1></div> <div align="center"><h2>This application was updated using CodePipeline, CodeCommit, and CodeDeploy.</h2></div> <div align="center"> <p>Learn more:</p> <p><a href="https://docs.aws.amazon.com/codepipeline/latest/userguide/">CodePipeline User Guide</a></p> <p><a href="https://docs.aws.amazon.com/codecommit/latest/userguide/">CodeCommit User Guide</a></p> <p><a href="https://docs.aws.amazon.com/codedeploy/latest/userguide/">CodeDeploy User Guide</a></p> </div> </body> </html>
  4. 執行下列命令,以遞交變更並推送至 CodeCommit 儲存庫,一次一個:

    git commit -am "Updated sample application files"
    git push
驗證您的管道是否成功執行
  1. 檢視管道初始進度。每一個階段狀態會從 No executions yet (尚未執行)​ 變更為 In Progress (進行中),然後顯示 Succeeded (成功)​ 或 Failed (失敗)。管道的執行應會在幾分鐘內完成。

  2. 動作狀態顯示 Succeeded (成功) 後,請重新整理您先前在瀏覽器中存取的示範頁面。

    隨即顯示更新的網頁。

步驟 7:清除資源

您可以將在此教學中建立的一些資源用在本指南的其他教學。例如,您可以重複使用 CodeDeploy 應用程式和部署。不過,在您完成這些教學課程之後,應該刪除管道以及其所使用的資源,才不會因為持續使用那些資源而付費。首先,刪除管道,然後刪除 CodeDeploy 應用程式及其相關聯的 Amazon EC2 執行個體,最後刪除 CodeCommit 儲存庫。

清除此教學中使用的資源
  1. 若要清除 CodePipeline 資源,請遵循 中刪除管道 AWS CodePipeline中的指示。

  2. 若要清除 CodeDeploy 資源,請遵循清除部署逐步解說資源中的指示。

  3. 若要刪除 CodeCommit 儲存庫,請遵循刪除 CodeCommit 儲存庫中的指示。

步驟 8:深入閱讀

進一步了解 CodePipeline 的運作方式:

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。