28 May, 2025 by
DevOps và hạ tầng
Khái niệm CI/CD là viết tắt của Continuous Integration và Continuous Deployment. Các công việc như kiểm thử phần mềm, xuất bản SDK, triển khai DApp là các công việc lặp đi lặp lại và có tính khuôn mẫu cho các phiên bản phần mềm. Thay vì làm thủ công, ví dụ như chạy npm publish
, ta có thể tự dộng hoá quá trình này và ta gọi là CI/CD. CI/CD giúp giảm thời gian cũng như rủi ro trong quá trình triển khai hệ thống.
Trong bài này, tự động hoá việc triển khai DApp sẽ dựa trên các điều kiện cụ thể (Ví dụ, merge nhánh develop
vào master
) thông qua GitHub Actions. Đồng thời, hạ tầng Cloudflare với chi phí gần như bằng 0 sẽ sử được dụng để giúp tiết kiệm.
Xuất bản SDK
Tạo acccess token
Trước hệt chúng ta cần một access tokens của tài khoản npmjs.com để có thể xuất bản SDK.
- Đăng nhập npmjs.com.
- Chọn vào ảnh đại diện.
- Chọn Access Tokens.
- Chọn Generate New Token.
- Chọn Classic Token.
- Đặt tên và chọn Automation.
- Chọn Generate Token và lưu lại token sinh ra.
Sau đó ta cần thêm token vừa tạo được vào github repository.
- Truy cập github repository của bạn. Ví dụ ở đây là tuphan-dn/cs01-2024.
- Chọn Settings.
- Chọn Secrets and variables.
- Chọn Actions.
- Chọn New repository secret.
- Điền
NPM_TOKEN
vào Name và giá trị access token và trường Secret. - Nhấn Add secret.
Xây dựng CI/CD
Trong phần này chúng ta sẽ làm việc với repo cs01-2024
của SDK.
Lưu ý, repo
cs01-2024
>< repocs01-app-2024
Thêm file release.yml
trong thư mục vừa tạo.
Để kiểm tra process, bạn cần cập nhật lại version
sdk lên 1.0.1
trong package.json
và push tất cả thay đổi lên nhanh master
. Lúc này, trong phần Actions của github repository bạn sẽ thấy một process CI/CD được khởi chạy và follow theo các bước đã định nghĩa trong release.yml
.
Triển khai DApp
Khác với Xuất bản SDK, triển khai DApp lại tương đối đơn giản khi mà đa số các bước cài đặt đã được Cloudflare Pages tự động sẵn. Lưu ý, phần này ta sẽ làm việc với repo css01-app-2024
.
Nhưng trước khi kết nối với Cloudflare Pages, ta cần thiết lập DApp build dưới dạng static. Ở dạng này, chúng ta không cần thiết một server để host DApp. Thay vào đó, DApp đã build dưới dạng static sẽ được lưu ở mạng CDN. Hướng tiếp cận này cho nhiều lợi điểm ví như không cần server và không phải quản lý tải, loại bỏ DDoS, chi phí bằng 0, app được load nhanh hơn...
Build static
Kết nối Cloudflare
- Đăng nhập Cloudflare Dashboard.
- Chọn Workers & Pages.
- Chọn Create.
- Chọn Pages.
- Chọn Connect to Git và kết nối đến repo
cs01-app-2024
của bạn. - Chọn Remix ở mục Framework preset.
- Cập nhật Build command thành
pnpm build
. - Chọn Save & Deploy.
- Chọn Continue to project.
Sau khi triển khai thành công, DApp sẽ chạy ở tên miền của pages.dev
, ví dụ https://cs01-app-2024.pages.dev/. Giờ đây, với mỗi cập nhật ở nhánh master
, Cloudflare sẽ tự động cập nhật trực tiếp lên DApp thay bạn.