AWS CodeBuild

Chúng ta sẽ sử dụng repository AWS CodeCommit mang tên Pipeline-EC2 mà bạn đã chuẩn bị trước đó cho bài lab này.

Cấu hình AWS CodeBuild

  1. Trên thanh tìm kiếm, nhập CodeBuild và chọn CodeBuild trong kết quả tìm kiếm.

CodeBuild

  1. Truy cập CodeBuild console, và chọn Create project.

CodeBuild

  1. Trong giao diện Create build project, mục Project name, nhập AWS-FCAJ-PIPELINE.

CodeBuild

  1. Cấu hình mục Source (Nguồn).

Mã nguồn demo này đã được đơn giản hóa để giúp bạn hiểu được những thành phần cốt lõi của quá trình build và deploy.

  • Source provider: AWS CodeCommit
  • Repository: Pipeline-EC2
  • Reference type: Branch
  • Branch: main
  • Commit ID: Sử dụng commit ID mới nhất trong nhánh main.

Đảm bảo dự án CodeBuild của bạn được tạo trong cùng một AWS Region với repository AWS CodeCommit; nếu không, repository sẽ không xuất hiện trong danh sách.

CodeBuild

  1. Cấu hình mục Environment:
  • Provisioning model: On-demand
  • Environment image: Managed image
  • Compute: EC2
  • Running mode: Container
  • Operating system: Amazon Linux
  • Runtime: Standard
  • Image: default
  • Image version: Always use the latest image for this runtime version

Mặc dù sử dụng Always use the latest image rất tiện lợi cho môi trường thực hành, nhưng theo best practice , bạn nên sử dụng một phiên bản image cụ thể trong môi trường production để đảm bảo tính nhất quán của các bản build.

CodeBuild

  1. Ở mục Service role chọn Existing service role. Chọn Role CodeBuildServiceRole

CodeBuild yêu cầu một IAM service role để tương tác với các dịch vụ AWS khác. Role này sẽ tự động bao gồm các quyền cần thiết để ghi log vào CloudWatch Logs và đẩy dữ liệu lên S3 (nếu bạn cấu hình lưu trữ Artifacts vào S3).

CodeBuild

  1. Tiếp theo, cấu hình đường dẫn Buildspec. Giữ nguyên lựa chọn Use a buildspec file.

Tệp buildspec.yml phải được đặt ở thư mục gốc của source code repository. Nó chứa các câu lệnh mà AWS CodeBuild sẽ thực thi trong các giai đoạn build (như install, pre_build, build, post_build).

CodeBuild

  1. Cấu hình mục Artifacts (Sản phẩm đầu ra):
  • Type: Amazon S3
  • Bucket name: Chọn S3 bucket mà bạn đã tạo ở các bước trước đó.

Lưu trữ artifacts vào S3 bucket là yêu cầu bắt buộc nếu bạn có kế hoạch sử dụng AWS CodePipeline và CodeDeploy ở các bước tiếp theo. Hãy đảm bảo S3 bucket của bạn nằm trong cùng một AWS Region với CodeBuild project.

CodeBuild

  1. Cấu hình mục Logs (Nhật ký):
  • Chúng ta sẽ sử dụng CloudWatch logs.
  • Group name: codebuild/AWS-FCAJ-PIPELINE
  • Cuộn xuống dưới cùng và chọn Create build project.

CodeBuild

  1. Bạn đã tạo thành công dự án AWS CodeBuild. Để xác minh cấu hình đã chính xác hay chưa, bạn có thể kiểm thử bằng cách nhấp vào nút Start build.

Nếu quá trình build gặp lỗi, hãy nhấp vào tab Phase details hoặc Build logs trong bảng điều khiển CodeBuild để đọc nhật ký thực thi và tìm hiểu nguyên nhân lỗi.

CodeBuild