AWS CodeDeploy

Cài đặt AWS CodeDeploy

  1. Trên thanh tìm kiếm, nhập CodeDeploy và nhấp vào CodeDeploy trong kết quả tìm kiếm. Trong bảng điều khiển CodeDeploy, nhấp vào Create application.

CodeBuild

  1. Trong giao diện Create application:
  • Ở mục Application name, nhập AWS-FCAJ-PIPELINE
  • Ở mục Compute platform, chọn EC2/On-Premises
  • Nhấp vào Create application

Trong CodeDeploy, một Application là một thực thể logic giúp định danh ứng dụng bạn muốn triển khai. Nó hoạt động như một vùng chứa cho các nhóm triển khai và các phiên bản triển khai của bạn.

CodeBuild

  1. Ứng dụng của bạn đã được tạo thành công. Tiếp theo, nhấp vào Create deployment group.

CodeBuild

  1. Trong giao diện Create deployment group:
  • Ở mục Deployment group name, nhập FCAJ-DEV-GROUP
  • Ở mục Service role, chọn CodeDeployServiceRole đã tạo ở bước trước
  • Ở mục Deployment type, chọn In-place
  • Ở mục Environment configuration, chọn Amazon EC2 instances

Đảm bảo rằng IAM Service Role được chọn đã được đính kèm policy AWSCodeDeployRole. CodeDeploy sử dụng role này để đọc các EC2 tags và xác định các instance mục tiêu cho quá trình triển khai.

  1. Cuộn xuống để cấu hình các thẻ của instance:
  • Dưới phần Amazon EC2 instances, nhập chính xác KeyValue của Tag mà bạn đã gán cho EC2 instance trước đó.

CodeDeploy hoàn toàn dựa vào các thẻ này để tìm EC2 instance của bạn. Nếu Key hoặc Value bị viết sai chính tả, hoặc không khớp chữ hoa/chữ thường, CodeDeploy sẽ báo cáo rằng nó tìm thấy và quá trình triển khai sẽ thất bại.

CodeBuild CodeBuild

  1. Cuộn xuống phần Agent configuration with AWS Systems Manager:
  • Ở mục Install AWS CodeDeploy Agent, chọn Never
  • Ở mục Deployment settings, chọn CodeDeployDefault.AllAtOnce
  • Dưới phần Load balancer, bỏ chọn Enable load balancing (vì chúng ta đang triển khai lên một instance duy nhất mà không có Application Load Balancer)
  • Cuối cùng, nhấp vào Create deployment group

Chúng ta chọn Never cho việc cài đặt AWS CodeDeploy Agent vì chúng ta đã tự cài đặt và khởi động agent trên EC2 instance trong giai đoạn thiết lập trước đó.

CodeBuild

  1. Bạn đã tạo thành công Deployment group.

CodeBuild

Tạo bản triển khai thủ công

  1. Trước khi tạo một lệnh triển khai, chúng ta cần một bản cập nhật ứng dụng. Nén thư mục FCAJ-PIPELINE-LAB23 thành file FCAJ-PIPELINE-LAB23.zip và tải nó lên S3 bucket đã tạo ở bước 2.2. Truy cập vào S3 console, chọn bucket của bạn, nhấp vào Upload, và tải file FCAJ-PIPELINE-LAB23.zip lên.

CodeDeploy yêu cầu một application revision (bản cập nhật ứng dụng) là một file nén chứa source code và file appspec.yml của bạn để thực hiện triển khai. File appspec.yml cho CodeDeploy biết phải cài đặt những gì và chạy những script nào ở từng sự kiện vòng đời.

CodeBuild CodeBuild

  1. Quay lại trang CodeDeploy > Applications và chọn ứng dụng của bạn (AWS-FCAJ-APP).
  • Chọn deployment group bạn vừa tạo.
  • Nhấp vào Create deployment.

CodeBuild

  1. Cung cấp thông tin Create deployment:
  • Deployment group: FCAJ-DEV-GROUP
  • Revision type: My application is stored in Amazon S3
  • Revision location: Nhập S3 URI của file .zip bạn đã tải lên (ví dụ: s3://your-bucket-name/FCAJ-PIPELINE-LAB23.zip)
  • Revision file type: .zip

Bạn có thể tìm nhanh S3 URI chính xác bằng cách mở một tab mới, vào S3 Console, chọn file FCAJ-PIPELINE-LAB23.zip đã tải lên, và nhấp Copy S3 URI.

CodeBuild

  1. Kiểm tra lại cấu hình của bạn, cuộn xuống dưới cùng và nhấp vào Create deployment.

CodeBuild

  1. Đợi một lát. Nếu mọi thứ được cấu hình chính xác, trạng thái triển khai của bạn sẽ chuyển sang Succeeded

CodeBuild

  1. Bạn có thể khám phá lịch sử triển khai để xem chi tiết về các sự kiện vòng đời triển khai.

    Nếu quá trình triển khai thất bại, nhấp vào liên kết View events bên cạnh instance bị lỗi để xem chính xác sự kiện vòng đời nào (BeforeInstall, ApplicationStart) bị lỗi và xem log lỗi.

    CodeBuild CodeBuild

  2. Chuyển đến EC2 console, chọn instance của bạn (my-server), và sao chép Public IPv4 DNS hoặc Public IPv4 address của nó. Dán nó vào trình duyệt web để truy cập ứng dụng đã triển khai của bạn!

CodeBuild CodeBuild