實作系列 - 1: 建構 AWS 上的 CICD 流程(1)

更新 發佈閱讀 3 分鐘

這次的單元將介紹如何在 AWS 雲端環境上建構 CICD 流程,讓每次上傳程式碼後,能夠自動化執行測試、部署等過程。

AWS 簡介

AWS(Amazon Web Services)是亞馬遜公司提供的雲端服務平台,涵蓋了各式各樣的雲端運算服務,包括計算服務(如 EC2 和 Lambda)、儲存服務(如 S3 和 EBS)、資料庫服務、網路服務等。

由於這次的主題是建立 CICD 流程,因此我們將使用 AWS 的以下三個服務:CodeBuild、CodeDeploy 和 CodePipeline。

運作流程

為了避免過程中出現混亂,我們先來了解完成後的運作方式。以下這張圖可以作為參考:

raw-image

圖源:https://www.ernestchiang.com/zh/notes/aws/codebuild/#文件

一般來說,在 CodePipeline 中,我們會選擇「程式碼來源」、「CodeBuild 項目」和「CodeDeploy 應用程式」,並設定三個相對應的階段內容。

當指定的程式碼分支發生變更時,CodePipeline 會收到最新的內容,並將其交給 CodeBuild。CodeBuild 會根據程式碼資料夾中的 buildspec.yml 文件來建構環境,並執行自動化測試。測試成功後,CodeDeploy 根據設定將程式碼部署到指定位置,如 S3 或本地伺服器等。

在這一過程中,若發生任何錯誤,該階段將會停止,並且你可以隨時重新執行該階段。所有過程的詳細記錄會存儲在 CloudWatch Logs 中。

需要注意的是,當某一階段成功完成後,CodePipeline 會自動觸發下一個階段的執行。因此,如果重新執行 CodeBuild 並成功,CodePipeline 會自動觸發 CodeDeploy 執行,無需手動操作。

建構流程

瞭解了運作流程後,接下來的最佳實踐是:首先建立 CodeBuild 和 CodeDeploy,然後使用 CodePipeline 來確認整體流程的運作。

程式碼來源

程式碼來源可以從許多版本控制系統獲取,例如 GitHub、AWS CodeCommit,或是直接從 Amazon S3 上儲存的程式碼。

由於接下來的 CodeBuild 部分較為細節,我們將在下一篇文章中進行深入介紹,這一篇先到這裡結束,掰掰~

參考資料

  1. https://www.ernestchiang.com/zh/notes/aws/codebuild/#文件
  2. https://shazi.info/一條龍佈署-cicd-從-github-跑-travis-到-aws-codedeploy-travis-到-codedeploy/
留言
avatar-img
林柏宇的沙龍
2會員
57內容數
test
林柏宇的沙龍的其他內容
2025/05/11
在軟體工程中,利用臨時儲存來提升系統性能是個重要的方法。本文深入探討了各種臨時儲存技術的使用模式和特點。將分析不同快取類型如快取的工作原理、 Redis 的高效儲存以及 Session 如何在無狀態的 HTTP 協議中保持用戶狀態。本文將使開發者更瞭解這些技術在提高應用效能中的關鍵角色。
Thumbnail
2025/05/11
在軟體工程中,利用臨時儲存來提升系統性能是個重要的方法。本文深入探討了各種臨時儲存技術的使用模式和特點。將分析不同快取類型如快取的工作原理、 Redis 的高效儲存以及 Session 如何在無狀態的 HTTP 協議中保持用戶狀態。本文將使開發者更瞭解這些技術在提高應用效能中的關鍵角色。
Thumbnail
2025/05/04
本文詳細介紹了 RabbitMQ 的基本概念、架構以及其在現代系統中的重要性。RabbitMQ 作為一套開源的訊息佇列服務,旨在有效管理通訊流,增強系統穩定性和擴展性。透過描述佇列、交換器及消費者等核心組件的功能,並探討其在微服務和事件驅動架構中的應用。
Thumbnail
2025/05/04
本文詳細介紹了 RabbitMQ 的基本概念、架構以及其在現代系統中的重要性。RabbitMQ 作為一套開源的訊息佇列服務,旨在有效管理通訊流,增強系統穩定性和擴展性。透過描述佇列、交換器及消費者等核心組件的功能,並探討其在微服務和事件驅動架構中的應用。
Thumbnail
2025/04/27
JWT(JSON Web Token)是基於 JSON 格式的開放標準,主要用於身份驗證與權限確認。本文介紹了JWT的基本結構,並闡述其特點,如降低資料庫壓力、靈活性及無狀態性。JWT 特別適用於分佈式系統。本篇將協助讀者深入理解 JWT 的重要性與實際應用。
Thumbnail
2025/04/27
JWT(JSON Web Token)是基於 JSON 格式的開放標準,主要用於身份驗證與權限確認。本文介紹了JWT的基本結構,並闡述其特點,如降低資料庫壓力、靈活性及無狀態性。JWT 特別適用於分佈式系統。本篇將協助讀者深入理解 JWT 的重要性與實際應用。
Thumbnail
看更多
你可能也想看
Thumbnail
債券投資,不只是高資產族群的遊戲 在傳統的投資觀念中,海外債券(Overseas Bonds)常被貼上「高資產族群專屬」的標籤。過去動輒 1 萬甚至 10 萬美元的最低申購門檻,讓許多想尋求穩定配息的小資族望而卻步。 然而,在股市波動劇烈的環境下,尋求穩定的美元現金流與被動收入成為許多投資人
Thumbnail
債券投資,不只是高資產族群的遊戲 在傳統的投資觀念中,海外債券(Overseas Bonds)常被貼上「高資產族群專屬」的標籤。過去動輒 1 萬甚至 10 萬美元的最低申購門檻,讓許多想尋求穩定配息的小資族望而卻步。 然而,在股市波動劇烈的環境下,尋求穩定的美元現金流與被動收入成為許多投資人
Thumbnail
透過川普的近期債券交易揭露,探討債券作為資產配置中「穩定磐石」的重要性。文章分析降息對債券的潛在影響,以及股神巴菲特的操作策略。並介紹玉山證券「小額債」平臺,如何讓小資族也能低門檻參與海外債券市場,實現「低門檻、低波動、固定收益」的務實投資方式。
Thumbnail
透過川普的近期債券交易揭露,探討債券作為資產配置中「穩定磐石」的重要性。文章分析降息對債券的潛在影響,以及股神巴菲特的操作策略。並介紹玉山證券「小額債」平臺,如何讓小資族也能低門檻參與海外債券市場,實現「低門檻、低波動、固定收益」的務實投資方式。
Thumbnail
解析「債券」如何成為資產配置中的穩定錨,提供低風險高回報的投資選項。 藉由玉山證券的低門檻債券服務,投資者可輕鬆入手,平衡風險並穩定財務。
Thumbnail
解析「債券」如何成為資產配置中的穩定錨,提供低風險高回報的投資選項。 藉由玉山證券的低門檻債券服務,投資者可輕鬆入手,平衡風險並穩定財務。
Thumbnail
相較於波動較大的股票,債券能提供固定現金流,而玉山證券推出的小額債,更以1000 美元的低門檻,讓學生與新手也能參與全球優質企業債投資。玉山E-Trader平台即時報價、條件式篩選與清楚的交易流程等特色,大幅降低投資難度,對於希望分散風險、建立穩定現金流的人來說,玉山小額債是一個值得嘗試的理財起點。
Thumbnail
相較於波動較大的股票,債券能提供固定現金流,而玉山證券推出的小額債,更以1000 美元的低門檻,讓學生與新手也能參與全球優質企業債投資。玉山E-Trader平台即時報價、條件式篩選與清楚的交易流程等特色,大幅降低投資難度,對於希望分散風險、建立穩定現金流的人來說,玉山小額債是一個值得嘗試的理財起點。
Thumbnail
透過充分利用 AWS Organizations 和 CloudFormation StackSets,您可以更好地實現企業級的雲端管理與控制,為業務的持續發展提供穩固的技術支撐。
Thumbnail
透過充分利用 AWS Organizations 和 CloudFormation StackSets,您可以更好地實現企業級的雲端管理與控制,為業務的持續發展提供穩固的技術支撐。
Thumbnail
在這篇文章中,我們將介紹工作與以前念書時期在開發流程上的差異,並深入瞭解CI/CD、Travis CI以及加解密的應用。 CI/CD是自動化的軟體開發實踐,而加解密則是保護機密資料安全的重要技術。
Thumbnail
在這篇文章中,我們將介紹工作與以前念書時期在開發流程上的差異,並深入瞭解CI/CD、Travis CI以及加解密的應用。 CI/CD是自動化的軟體開發實踐,而加解密則是保護機密資料安全的重要技術。
Thumbnail
對 AWS Certified Cloud Practitioner 證照考試難度的看法、學習方法和考試內容的介紹。
Thumbnail
對 AWS Certified Cloud Practitioner 證照考試難度的看法、學習方法和考試內容的介紹。
Thumbnail
實驗目的:Lambda@Edge (L@E) 讓 CLoudFront (CF) 回源時,自動選擇較近的 S3 region 回源
Thumbnail
實驗目的:Lambda@Edge (L@E) 讓 CLoudFront (CF) 回源時,自動選擇較近的 S3 region 回源
Thumbnail
在本篇文章中,將會設定 Cloud Run,以便每當將程式修改並推送到 GitHub 時,它都會使用 Cloud Build 自動構建和部署應用程序的最新版本。
Thumbnail
在本篇文章中,將會設定 Cloud Run,以便每當將程式修改並推送到 GitHub 時,它都會使用 Cloud Build 自動構建和部署應用程序的最新版本。
Thumbnail
前年第一次藉公司機會,參加了DevOpsDay的活動。雖然devOps一詞各自表述,大多狀況還是偏向維運會遇到的技術為主,做為平時開發、跟使用者訪談需求的工作內容來說,參加聚會如果沒有一定的知識,對講者所提到的狀況比較難有共鳴...
Thumbnail
前年第一次藉公司機會,參加了DevOpsDay的活動。雖然devOps一詞各自表述,大多狀況還是偏向維運會遇到的技術為主,做為平時開發、跟使用者訪談需求的工作內容來說,參加聚會如果沒有一定的知識,對講者所提到的狀況比較難有共鳴...
Thumbnail
分享關於 AWS CLF-C02 考試的準備心得,包括考試主要範圍、準備過程中的學習資源及建議,以及考試當日的流程和心得。希望本文能為欲嘗試取得此認證的人提供心得與參考。
Thumbnail
分享關於 AWS CLF-C02 考試的準備心得,包括考試主要範圍、準備過程中的學習資源及建議,以及考試當日的流程和心得。希望本文能為欲嘗試取得此認證的人提供心得與參考。
Thumbnail
在沒有分環境之前,每一隻lambda只有一個code console給所有人一起編輯,開發好了就deploy,根據設定的trigger觸發執行。 現在我們希望能夠在code console開發,然後deploy到不同的stage,目標是不同stage的api gateway能夠調用該lambda的
Thumbnail
在沒有分環境之前,每一隻lambda只有一個code console給所有人一起編輯,開發好了就deploy,根據設定的trigger觸發執行。 現在我們希望能夠在code console開發,然後deploy到不同的stage,目標是不同stage的api gateway能夠調用該lambda的
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News