Skip to content

vuba2002/Mediplus_Lite

Repository files navigation

Mediplus Lite CI/CD Pipeline

Tổng quan

Pipeline Jenkins này tự động hóa quy trình xây dựng, kiểm thử và triển khai ứng dụng Mediplus Lite bằng cách sử dụng các dịch vụ AWS và container Docker. Pipeline sẽ lấy mã nguồn mới nhất từ kho lưu trữ, xây dựng hình ảnh Docker, đẩy nó lên AWS ECR và đảm bảo môi trường trên AWS được thiết lập đúng cách.

Yêu cầu trước khi chạy pipeline

Trước khi chạy pipeline này, hãy đảm bảo rằng các điều kiện sau đã được đáp ứng:

  • Jenkins đã được cài đặt và cấu hình với các plugin cần thiết.
  • Git đã được cài đặt trên máy chạy Jenkins.
  • Docker đã được cài đặt và cấu hình trên máy chạy Jenkins.
  • AWS CLI đã được cài đặt và cấu hình trên máy chạy Jenkins.
  • Thông tin xác thực Jenkins cho Git, AWS và Docker Hub:
    • git-credentials để truy cập kho lưu trữ.
    • aws-access-key, aws-secret-key, aws-region để xác thực AWS.
    • DOCKER_USERNAME để xác thực Docker Hub.

Các giai đoạn trong pipeline

1. Kiểm tra mã nguồn

  • Clone kho lưu trữ GitHub theo nhánh được chỉ định trong biến môi trường ${BRANCH_NAME}.
  • Lưu mã hash của commit gần nhất vào tệp commit-id.

2. Xây dựng hình ảnh Docker

  • Đọc ID commit và sử dụng nó làm thẻ (tag) cho hình ảnh Docker.
  • Xây dựng hình ảnh Docker bằng Dockerfile trong kho lưu trữ.

3. Thiết lập môi trường trên AWS

  • Kiểm tra xem AWS CLI đã được cài đặt chưa; nếu chưa, pipeline sẽ tự động cài đặt.
  • Cấu hình AWS CLI bằng thông tin xác thực được lưu trữ trong Jenkins.
  • Kiểm tra danh tính AWS bằng aws sts get-caller-identity.

4. Tạo kho lưu trữ riêng tư trên AWS ECR

  • Kiểm tra xem kho lưu trữ ECR đã tồn tại chưa; nếu chưa, pipeline sẽ tự động tạo.

5. Đẩy hình ảnh Docker lên AWS ECR

  • Gán thẻ (tag) cho hình ảnh Docker với URL của kho lưu trữ AWS ECR.
  • Đẩy hình ảnh lên AWS ECR.
  • Xóa hình ảnh Docker cục bộ để tiết kiệm dung lượng.

Biến môi trường

Các biến môi trường sau đây là cần thiết để pipeline hoạt động:

Biến môi trường Mô tả
BRANCH_NAME Nhánh Git cần xây dựng
DOCKER_USERNAME Tên đăng nhập Docker Hub
PROJECT_NAME Tên dự án/hình ảnh Docker
AWS_REGION Khu vực AWS cho ECR
AWS_ACCOUNT_ID ID tài khoản AWS

Cách chạy pipeline

  1. Cấu hình Jenkins với các thông tin xác thực và plugin cần thiết.
  2. Tạo một pipeline mới và sử dụng Jenkinsfile trong kho lưu trữ.
  3. Kích hoạt pipeline theo cách thủ công hoặc thiết lập webhook để chạy tự động.

Xử lý lỗi

  • Lỗi cài đặt AWS CLI: Kiểm tra kết nối internet của máy Jenkins để đảm bảo có thể tải xuống các gói cần thiết.
  • Lỗi xây dựng Docker: Kiểm tra Dockerfile và các thư viện phụ thuộc có sẵn hay không.
  • Lỗi xác thực ECR: Đảm bảo thông tin xác thực AWS đã được thiết lập đúng cách trong Jenkins.

Tác giả

  • VuPlayBoizz .

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published