Giới thiệu về Strapi (Headless CMS)
- Strapi là mã nguồn mở Headless CMS. Sử dụng 100% JavaScript, hoàn toàn có thể tùy chỉnh và phát triển.
- Mục đích ban đầu của dự án là trợ Bootstrap API của bạn: đó là cách mà Strapi được tạo ra. Giờ đây, Strapi là một mã nguồn mở Headless CMS cho phép các nhà phát triển tự do lựa chọn các công cụ và khuôn khổ yêu thích của họ, đồng thời cho phép các biên tập viên quản lý và phân phối nội dung của họ bằng bảng điều khiển quản trị ứng dụng của họ. Dựa trên hệ thống plugin, Strapi là một CMS linh hoạt có bảng quản trị và API có thể mở rộng – và mọi phần đều có thể tùy chỉnh để phù hợp với mọi trường hợp sử dụng. Strapi cũng có một hệ thống người dùng tích hợp để quản lý chi tiết những gì quản trị viên và người dùng cuối có quyền truy cập.
- Khởi tạo project đơn giản tại link, bên dưới là hình ảnh giao diện Strapi Admin.
Project & Dockerfile
Project
- Quickstart đơn giản Strapi Project
- Cấu trúc project
. ├── README.md ├── cloudbuild.yaml ├── compose │ ├── gitlab # image for CI/CD on gitlab │ ├── local │ └── production # images for Strapi deployment └── my-project # Strapi Project ├── api # API definition: route, services, … ├── build # Admin UI ├── config # Server Configs and other configs ├── extensions # Other extensions for your app ├── favicon.ico ├── node_modules ├── package-lock.json ├── package.json ├── public # robots.txt, … └── server.js # Scripts run server |
Base Image
FROM strapi/base:14-alpine |
Được dùng để cài đặt các dependencies cần thiết
Hỗ trợ cho Image chạy Strapi cài đặt nhanh và tiện lợi cho thiết lập CI/CD
Image for deployment
FROM asia.gcr.io/int-ml-ai/base/my-project:0.1.0-strapi-3.6.8 |
Được sử dụng để chạy Strapi và tiến hành deploy trên chính Image này
Sử dụng dependencies đã cài đặt base image để tiến hành chạy
Example build and push Docker image
- Github
- Cách sử dụng Container Registry tham khảo tại: https://cloud.google.com/container-registry/docs/pushing-and-pulling
Deployment
- Sử dụng Cloud SDK
- Cloud Build config (YAML): Tạo
cloudbuild.yaml
cho Dockerfile cụ thể và xây dựng image, sau đó đẩy đến Container Registry. Cloud Run sẽ kéo image đã xây dựng để chạy. - Cách sử dụng file yaml tham khảo tại: https://cloud.google.com/run/docs/deploying
--- |
Để deploy thì tại thư mục chứa cloudbuild.yaml
, chạy lệnh: gcloud build submit
Kết quả
- Sau khi deploy thành công, có thể sử dụng “Manage custom domains” để thiết lập domain cho ADMIN UI có được từ Strapi Server
- Monitoring logs trên Google Cloud Console
- Giao diện đã deploy:
- Bây giờ ta có thể gọi API từ đường dẫn ở trên. Để có thể truy cập vào đường dẫn ADMIN ta có thể sử dụng Firebase để hosting giao diện.