AWS CodePipeline

AWS CodePipeline

Sau khi sử dụng AWS CodeCommit để đẩy mã nguồn từ máy cục bộ lên, chúng ta thực hiện build thông qua AWS CodeBuild và sử dụng AWS CodeDeploy để triển khai ứng dụng lên EC2. Bây giờ chúng ta sẽ sử dụng AWS CodePipeline để tạo CI/CD pipeline cho ứng dụng.

AWS CodePipeline là gì? AWS CodePipeline là một dịch vụ phân phối liên tục được quản lý hoàn toàn, giúp bạn tự động hóa các đường ống phát hành để cập nhật ứng dụng và cơ sở hạ tầng một cách nhanh chóng và đáng tin cậy. CodePipeline tự động hóa các giai đoạn build, test và deploy trong quy trình phát hành của bạn mỗi khi có sự thay đổi mã nguồn, dựa trên mô hình phát hành mà bạn xác định.

  1. Trong thanh tìm kiếm của AWS Management Console, nhập CodePipeline và chọn CodePipeline từ danh sách kết quả.

CodePipeline

  1. Trên bảng điều khiển CodePipeline, chọn Create pipeline.

CodePipeline

  1. Tại Choose creation option, chọn Build custom pipeline, sau đó nhấn Next.

CodePipeline

  1. Trong giai đoạn Choose pipeline settings:
    • Pipeline name: nhập FCAJ-APP-PIPELINE.
    • Service role: chọn Existing service role và chọn CodeDeployServiceRole.
    • Nhấn Next.

Đảm bảo rằng CodeDeployServiceRole có các quyền cần thiết để truy cập CodeCommit, CodeBuild, CodeDeploy và Amazon S3 bucket nơi lưu trữ các artifact.

CodePipeline

  1. Trong giai đoạn Source
  • Source provider, chọn AWS CodeCommit
  • Repository name, chọn Pipeline-EC2
  • Branch name, chọn main
  • Output artifact name, chọn CodePipeline-default
  • Chọn Next

Giai đoạn Source xác định nơi CodePipeline sẽ lấy mã nguồn từ đó. Mỗi khi có một commit mới được đẩy lên nhánh main của repository Pipeline-EC2, pipeline này sẽ tự động được kích hoạt .

CodePipeline

  1. Trong giai đoạn Build
  • Chọn Build providerAWS CodeBuild
  • Chọn Build type: Single build
  • Chọn Project name mà bạn đã tạo và build trước đó.
  • Chọn Next

CodePipeline

Single build: Đây là tùy chọn tiêu chuẩn. Nó kích hoạt một quá trình build duy nhất cho dự án của bạn. Chúng ta sử dụng tùy chọn này cho hầu hết các ứng dụng khi bạn chỉ cần biên dịch và đóng gói mã nguồn một lần.

Batch build: Tùy chọn này cho phép bạn chạy nhiều bản build cùng một lúc (song song hoặc tuần tự). Điều này hữu ích cho các dự án phức tạp cần được kiểm thử trên các nền tảng hoặc phiên bản khác nhau cùng lúc.

  1. Trong giai đoạn Test
  • Chọn Test providerAWS CodeBuild
  • Chọn Build type: Single build
  • Chọn Project name mà bạn đã tạo và build trước đó.
  • Chọn Next CodePipeline

Trong nhiều pipeline CI/CD, các giai đoạn build và test có thể được xử lý cùng nhau trong một project CodeBuild duy nhất. Tuy nhiên, việc tách chúng thành các giai đoạn khác nhau trong CodePipeline giúp bạn dễ dàng theo dõi tiến độ và xử lý sự cố khi gặp lỗi hơn.

  1. Trong giai đoạn Deploy

    • Deploy provider, chọn AWS CodeDeploy
    • Input artifacts: để mặc định là BuildArtifact
    • Chọn Application name mà bạn đã tạo.
    • Chọn Deployment group mà bạn đã tạo.
    • Chọn Next CodePipeline
  2. Kiểm tra lại toàn bộ thông tin và chọn Create pipeline.

CodePipeline CodePipeline

Sau khi được tạo, pipeline sẽ tự động kích hoạt lần chạy đầu tiên. Bạn có thể theo dõi tiến độ của từng giai đoạn (Source, Build, Test, Deploy) trực tiếp trong bảng điều khiển CodePipeline. Nếu có bất kỳ giai đoạn nào thất bại, bạn có thể kiểm tra log bằng cách nhấn vào liên kết Details của giai đoạn đó.