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.
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.
- 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.
- Đọ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
Dockerfiletrong kho lưu trữ.
- 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.
- 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.
- 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.
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ấu hình Jenkins với các thông tin xác thực và plugin cần thiết.
- Tạo một pipeline mới và sử dụng
Jenkinsfiletrong kho lưu trữ. - Kích hoạt pipeline theo cách thủ công hoặc thiết lập webhook để chạy tự động.
- 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
Dockerfilevà 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.
- VuPlayBoizz .