Tạo CodePipeline

Tạo CodePipeline

CodePipeline là dịch vụ AWS cho phép chúng ta xây dựng qui trình khiển khai ứng dụng một cách liên tục và tự động. Với cách thức cấu hình đơn giản, CodePipeline có khả năng mô hình hoá trực quan các bước cần thiết để biên dịch, kiểm thử và triển khai các phiên bản cập nhật cho một ứng dụng hoặc dịch vụ.

Để thực hiện thiết lập một qui trình triển khai ứng dụng dựa trên CodePipeline, chúng ta cần hiểu qua một số khái niệm / thuật ngữ cơ bản thường dùng:

  • Pipeline: là một qui trình - workflow mô tả một chuỗi các bước thực hiện từ việc thay đổi source code đến khi tích hợp và triển khai những thay đổi này sang môi trường sản phẩm.

  • Stage: mô tả mỗi bước thực hiện trong Pipeline. Stage thường hoạt động trong một môi trường độc lập, thực hiện những xử lý dựa trên input artifact.

  • Transition: là mốc dịch chuyển giữa việc thực thi của các stages trong một pipeline. Việc kiểm soát transition (enable / disable) cho phép chúng ta thực hiện các xác nhận cần thiết trước khi quyết định tiếp tục việc triển khai.

  • Artifact: được phân chia thành hai loại:

    • Input artifact: được sử dụng để thực thi các hoạt động trong một stage. Ví dụ: source code là input artifact - được biên dịch / kiểm thử bởi các câu lệnh build stage.
    • Output artifact: là kết quả được tạo ra bởi các hoạt động trong một stage. Ví dụ: các lệnh trong build stage tạo ra Test Report, Log, hoặc Docker Image.
  1. Truy cập vào AWS CodePipeline

    • Chọn Pipeline
    • Chọn Create pipeline

CodePipeline

  1. Trong giao diện tạo CodePipeline

    • Nhập aws-node-pipeline vào Pipeline name
    • Đối với Service role chọn New service role
    • Chọn Next

CodePipeline

  1. Đối với Add source stage

    • Source provider, chọn AWS CodeCommit
    • Repository name, chọn aws-fcj-management
    • Đối với Branch name, chọn master
    • Các mục khác để mặc định
    • Chọn Next

CodePipeline

  1. Phần Build provider chọn AWS CodeBuild

CodePipeline

  1. Đối với phần Build stage

    • Region, chọn Singapore
    • Đối với Project name, chọn aws-fcj-management-build
    • Chọn Single build
    • Sau đó, chọn Next

CodePipeline

  1. Đối với Deploy stage

    • Chọn Amazon ECS (Blue/Green)
    • Chọn Next

CodePipeline

  1. Tiến hành cấu hình Deploy

    • Đối với Deploy provider, chọn Amazon ECS (Blue/Green).
    • Region, chọn Singapore.
    • Chọn AWS CodeDeploy application name.
    • Chọn AWS CodeDeploy depolyment group.
    • Cấu hình Amazon ECS task definition.
    • Cấu hình AWS CodeDeploy AppSpec file.
    • Đối với Dynamically Update task definition image, chọn BuildArtifact và nhập Placeholder text in the task definition trùng với tên image của file taskdef.json.
    • Chọn Next.

CodePipeline

  1. Kiểm tra lại và chọn Create pipeline

CodePipeline

  1. Đợi khoảng 5 phút chúng ta sẽ thấy 2 stage là SourceBuild hoàn thành.

CodePipeline

  1. Khoảng hơn 5 phút Stage Deploy không gặp vấn đề.Chúng ta sẽ click vào Details để xem chi tiết quá trình Deploy.

CodePipeline

  1. Khoảng thêm 5 phút nữa chúng ta sẽ thấy traffic đang chuyển dần từ Original sang Replacement.

CodePipeline

  1. Khoảng 5 phút tiếp theo chúng ta quan sát sẽ thấy Deployment lifecycle events hoàn thành tất cả các bước.

CodePipeline

  1. Mất khoảng hơn 1 giờ để hoàn thành quá trình deployment và traffic shift thành công.

CodePipeline

14.Chúng ta sẽ kiểm tra Amazon ECS Cluster

  • Chọn Task
  • Chọn task có cùng group với file cấu hình taskdef.jsonappspec.yaml

CodePipeline

  1. Xem thông tin chi tiết của Task, sau đó sao chép Public IP của task để truy cập thử vào ứng dụng qua port 5000

CodePipeline

  1. Truy cập vào ứng dụng thành công.

CodePipeline

  1. Chúng ta kiểm tra lại vào Pipeline đã hoàn thành.

CodePipeline

  1. Quan sát stream log trong CloudWatch

CodePipeline

  1. Xem event của service.

CodePipeline

  1. Xem thông tin Deployments

CodePipeline

  1. Xem thông tin Metrics

CodePipeline

  1. Xem thông tin Logs

CodePipeline