Cách triển khai tất cả các khung JavaScript lên Cloud Run

1. Giới thiệu

Tổng quan

Trong lớp học lập trình này, hãy triển khai 8 ứng dụng JavaScript vào Cloud Run:

  • SSR Angular – dựa trên Angular
  • Nuxt.js – dựa trên Vue.js
  • Next.js – dựa trên React
  • Remix – dựa trên React
  • SvelteKit – dựa trên Svelte
  • SolidStart – dựa trên Solid.js
  • Chụp ảnh thiên văn
  • Qwik

Ảnh chụp màn hình ứng dụng AngularẢnh chụp màn hình ứng dụng Nuxt.jsẢnh chụp màn hình ứng dụng Next.jsẢnh chụp màn hình ứng dụng Phối lạiẢnh chụp màn hình ứng dụng SvelteKitẢnh chụp màn hình ứng dụng SolidStartẢnh chụp màn hình ứng dụng AstroẢnh chụp màn hình ứng dụng Qwik

Kiến thức bạn sẽ học được

  • Cách tự động triển khai các khung JavaScript mà Cloud Build hỗ trợ
  • Cách triển khai các khung JavaScript yêu cầu cấu hình

Điều kiện tiên quyết

2. Kích hoạt Cloud Shell

  1. Chuyển đến cửa sổ dòng lệnh Cloud Shell: https://shell.cloud.google.com/?show=terminalNếu đây là lần đầu tiên bạn khởi động Cloud Shell, bạn sẽ thấy một màn hình trung gian mô tả về Cloud Shell. Nếu thấy màn hình trung gian, hãy nhấp vào Tiếp tục.Quá trình cấp phép và kết nối với Cloud Shell chỉ mất vài phút.
  2. Chạy lệnh sau trong Cloud Shell để đặt dự án gcloud:
    gcloud config set project <PROJECT_ID>
    
    Thay thế <PROJECT_ID> bằng mã dự án của bạn. Ví dụ:
    gcloud config set project js-frameworks
    
    Nếu được nhắc uỷ quyền, hãy nhấp vào Uỷ quyền.

3. Bật API

Để có thể bắt đầu sử dụng lớp học lập trình này, bạn cần bật một số API. Lớp học lập trình này yêu cầu bạn sử dụng các API sau. Bạn có thể bật các API đó bằng cách chạy lệnh sau:

gcloud services enable \
    cloudbuild.googleapis.com \
    artifactregistry.googleapis.com \
    run.googleapis.com

Sau đó, bạn có thể thiết lập các biến môi trường sẽ được dùng trong suốt lớp học lập trình này.

4. Định cấu hình khu vực mặc định

Bạn có thể đặt riêng khu vực cho từng lượt triển khai. Lệnh này sẽ đặt khu vực mặc định thành us-central1 để bạn không cần đặt cho từng khu vực.

gcloud config set run/region us-central1

5. Định cấu hình git

Theo mặc định, một số thư viện dự kiến sẽ dùng git để quản lý phiên bản. Nếu đã định cấu hình git trên thiết bị của mình (ví dụ: bạn đang chạy phòng thí nghiệm này cục bộ), thì bạn không cần thực hiện các bước này.

git config --global user.email "you@example.com"
git config --global user.name "Your Name"
git config --global init.defaultBranch main

6. SSR Angular (Angular)

  1. Chuyển đến thư mục mà bạn muốn tạo ứng dụng Angular
    cd ~
    
  2. Tạo một ứng dụng Angular sử dụng tính năng Kết xuất phía máy chủ (SSR)
    npx @angular/cli new angular-app --ssr
    
    Khi được nhắc chọn lựa chọn ưu tiên, hãy nhấn phím Enter để chấp nhận các lựa chọn mặc định.
  3. Chuyển đến thư mục dự án mới mà bạn đã tạo
    cd angular-app
    
  4. Triển khai ứng dụng
    gcloud run deploy --allow-unauthenticated
    
    Khi được nhắc chọn lựa chọn ưu tiên, hãy nhấn phím Enter để chấp nhận các lựa chọn mặc định.

Truy cập vào ứng dụng của bạn

Quá trình triển khai sẽ mất vài phút. Khi hoàn tất, Cloud Run sẽ trả về một URL như:

https://angular-app-xxxxxxxxxx-uc.a.run.app

Ảnh chụp màn hình ứng dụng Angular

Mở URL được cung cấp trong một thẻ trình duyệt mới để xem ứng dụng đã triển khai.

Dọn dẹp không bắt buộc

  1. Xoá dự án Angular trên thiết bị
    cd ..
    rm -rf angular-app
    
  2. Xoá dịch vụ Angular Cloud Run
    gcloud run services delete angular-app
    
    Khi được hỏi liệu bạn có muốn tiếp tục hay không, hãy nhấn phím Enter để tiếp tục.

7. Nuxt.js (Vue.js)

  1. Chuyển đến thư mục mà bạn muốn tạo ứng dụng Angular
    cd ~
    
  2. Tạo ứng dụng Nuxt.js
    npx nuxi init nuxt-app
    
    Khi được nhắc chọn lựa chọn ưu tiên, hãy nhấn phím Enter để chấp nhận các lựa chọn mặc định.
  3. Chuyển đến thư mục dự án mới mà bạn đã tạo
    cd nuxt-app
    
  4. Triển khai ứng dụng
    gcloud run deploy --allow-unauthenticated
    
    Khi được nhắc chọn lựa chọn ưu tiên, hãy nhấn phím Enter để chấp nhận các lựa chọn mặc định.

Truy cập vào ứng dụng của bạn

Quá trình triển khai sẽ mất vài phút. Khi hoàn tất, Cloud Run sẽ trả về một URL như:

https://nuxt-app-xxxxxxxxxx-uc.a.run.app

Mở URL được cung cấp trong một thẻ trình duyệt mới để xem ứng dụng đã triển khai.

Ảnh chụp màn hình ứng dụng Nuxt.js

Dọn dẹp không bắt buộc

  1. Xoá dự án Nuxt.js trên thiết bị
    cd ..
    rm -rf nuxt-app
    
  2. Xoá dịch vụ Nuxt.js Cloud Run
    gcloud run services delete nuxt-app
    
    Khi được hỏi liệu bạn có muốn tiếp tục hay không, hãy nhấn phím Enter để tiếp tục.

8. Next.js (React)

  1. Chuyển đến thư mục mà bạn muốn tạo ứng dụng Angular
    cd ~
    
  2. Tạo ứng dụng Next.js
    npx create-next-app next-app
    
    Khi được nhắc chọn lựa chọn ưu tiên, hãy nhấn phím Enter để chấp nhận các lựa chọn mặc định.
  3. Chuyển đến thư mục dự án mới mà bạn đã tạo
    cd next-app
    
  4. Triển khai ứng dụng
    gcloud run deploy --allow-unauthenticated
    
    Khi được nhắc chọn chế độ ưu tiên, hãy nhấn phím Enter để chấp nhận chế độ mặc định.

Truy cập vào ứng dụng của bạn

Quá trình triển khai sẽ mất vài phút. Khi hoàn tất, Cloud Run sẽ trả về một URL như:

https://next-app-xxxxxxxxxx-uc.a.run.app

Mở URL được cung cấp trong một thẻ trình duyệt mới để xem ứng dụng đã triển khai.

Ảnh chụp màn hình ứng dụng Next.js

Dọn dẹp không bắt buộc

  1. Xoá dự án Next.js trên thiết bị
    cd ..
    rm -rf next-app
    
  2. Xoá dịch vụ Next.js Cloud Run
    gcloud run services delete next-app
    
    Khi được hỏi liệu bạn có muốn tiếp tục hay không, hãy nhấn phím Enter để tiếp tục.

9. Remix (React)

  1. Chuyển đến thư mục mà bạn muốn tạo ứng dụng Angular
    cd ~
    
  2. Tạo ứng dụng Remix
    npx create-remix remix-app
    
    Khi được nhắc chọn chế độ ưu tiên, hãy nhấn phím Enter để chấp nhận chế độ mặc định.
  3. Chuyển đến thư mục dự án mới mà bạn đã tạo
    cd remix-app
    
  4. Triển khai ứng dụng
    gcloud run deploy --allow-unauthenticated
    
    Khi được nhắc chọn lựa chọn ưu tiên, hãy nhấn phím Enter để chấp nhận các lựa chọn mặc định.

Truy cập vào ứng dụng của bạn

Quá trình triển khai sẽ mất vài phút. Khi hoàn tất, Cloud Run sẽ trả về một URL như:

https://remix-app-xxxxxxxxxx-uc.a.run.app

Mở URL được cung cấp trong một thẻ trình duyệt mới để xem ứng dụng đã triển khai.

Ảnh chụp màn hình ứng dụng Phối lại

Dọn dẹp không bắt buộc

  1. Xoá dự án phối lại trên thiết bị
    cd ..
    rm -rf remix-app
    
  2. Xoá dịch vụ Remix Cloud Run
    gcloud run services delete remix-app
    
    Khi được hỏi liệu bạn có muốn tiếp tục hay không, hãy nhấn phím Enter để tiếp tục.

10. Dọn dẹp Cloud Shell

Nếu không sử dụng Cloud Shell hoặc chỉ triển khai một ứng dụng, bạn không bắt buộc phải thực hiện bước này

Cloud Shell cung cấp một thư mục chính có dung lượng 5 GB và chạy trên Google Cloud.

Để triển khai cả 8 khung này bằng Cloud Shell, bạn cần tạo không gian cho các ứng dụng còn lại.

Việc xoá các dự án trên Cloud Shell sẽ không xoá các dịch vụ Cloud Run mà bạn đã triển khai.

Để xoá các ứng dụng mà bạn đã tạo, hãy chạy các lệnh sau:

cd ~
rm -rf angular-app/
rm -rf nuxt-app/
rm -rf next-app/
rm -rf remix-app/

11. SvelteKit (Svelte)

  1. Chuyển đến thư mục mà bạn muốn tạo ứng dụng Angular
    cd ~
    
  2. Tạo ứng dụng SvelteKit
    npx create-svelte svelte-app
    
    Khi được nhắc chọn chế độ ưu tiên, hãy nhấn phím Enter để chấp nhận chế độ mặc định.
  3. Chuyển đến thư mục dự án mới mà bạn đã tạo
    cd svelte-app
    
  4. Triển khai ứng dụng
    gcloud run deploy --allow-unauthenticated
    
    Khi được nhắc chọn lựa chọn ưu tiên, hãy nhấn phím Enter để chấp nhận các lựa chọn mặc định.

Truy cập vào ứng dụng của bạn

Quá trình triển khai sẽ mất vài phút. Khi hoàn tất, Cloud Run sẽ trả về một URL như:

https://svelte-app-xxxxxxxxxx-uc.a.run.app

Mở URL được cung cấp trong một thẻ trình duyệt mới để xem ứng dụng đã triển khai.

Ảnh chụp màn hình ứng dụng SvelteKit

Dọn dẹp không bắt buộc

  1. Xoá dự án SvelteKit trên thiết bị
    cd ..
    rm -rf svelte-app
    
  2. Xoá dịch vụ SvelteKit Cloud Run
    gcloud run services delete svelte-app
    
    Khi được hỏi liệu bạn có muốn tiếp tục hay không, hãy nhấn phím Enter để tiếp tục.

12. SolidStart (Solid)

  1. Chuyển đến thư mục mà bạn muốn tạo ứng dụng Angular
    cd ~
    
  2. Tạo ứng dụng SolidStart
    npx create-solid solid-app
    
    Khi được nhắc chọn lựa chọn ưu tiên, hãy nhấn phím Enter để chấp nhận các lựa chọn mặc định.
  3. Chuyển đến thư mục dự án mới mà bạn đã tạo
    cd solid-app
    
  4. Triển khai ứng dụng
    gcloud run deploy --allow-unauthenticated
    
    Khi được nhắc chọn chế độ ưu tiên, hãy nhấn phím Enter để chấp nhận chế độ mặc định.

Truy cập vào ứng dụng của bạn

Quá trình triển khai sẽ mất vài phút. Khi hoàn tất, Cloud Run sẽ trả về một URL như:

https://solid-app-xxxxxxxxxx-uc.a.run.app

Mở URL được cung cấp trong một thẻ trình duyệt mới để xem ứng dụng đã triển khai.

Ảnh chụp màn hình ứng dụng SolidStart

Dọn dẹp không bắt buộc

  1. Xoá dự án SolidStart trên máy tính
    cd ..
    rm -rf solid-app
    
  2. Xoá dịch vụ SolidStart Cloud Run
    gcloud run services delete solid-app
    
    Khi được hỏi liệu bạn có muốn tiếp tục hay không, hãy nhấn phím Enter để tiếp tục.

13. Chụp ảnh thiên văn

  1. Chuyển đến thư mục mà bạn muốn tạo ứng dụng Angular
    cd ~
    
  2. Tạo một ứng dụng Astro
    npx create-astro astro-app
    
    Khi được nhắc chọn lựa chọn ưu tiên, hãy nhấn phím Enter để chấp nhận các lựa chọn mặc định.
  3. Chuyển đến thư mục dự án mới mà bạn đã tạo
    cd astro-app
    
  4. Thêm bộ chuyển đổi Astro cho Node.js
    npx astro add node
    
  5. Cập nhật tập lệnh start trong package.json
    npm pkg set scripts.start="HOST=0.0.0.0 node ./dist/server/entry.mjs"
    
  6. Triển khai ứng dụng
    gcloud run deploy --allow-unauthenticated
    
    Khi được nhắc chọn lựa chọn ưu tiên, hãy nhấn phím Enter để chấp nhận các lựa chọn mặc định.

Truy cập vào ứng dụng của bạn

Quá trình triển khai sẽ mất vài phút. Khi hoàn tất, Cloud Run sẽ trả về một URL như:

https://astro-app-xxxxxxxxxx-uc.a.run.app

Mở URL được cung cấp trong một thẻ trình duyệt mới để xem ứng dụng đã triển khai.

Ảnh chụp màn hình ứng dụng Astro

Dọn dẹp không bắt buộc

  1. Xoá dự án Astro trên thiết bị
    cd ..
    rm -rf astro-app
    
  2. Xoá dịch vụ Astro Cloud Run
    gcloud run services delete astro-app
    
    Khi được hỏi liệu bạn có muốn tiếp tục hay không, hãy nhấn phím Enter để tiếp tục.

14. Qwik

  1. Chuyển đến thư mục mà bạn muốn tạo ứng dụng Angular
    cd ~
    
  2. Tạo ứng dụng Qwik
    npx create-qwik
    
    Khi được nhắc chọn lựa chọn ưu tiên, hãy nhấn phím Enter để chấp nhận các lựa chọn mặc định.
  3. Chuyển đến thư mục dự án mới mà bạn đã tạo
    cd qwik-app
    
  4. Thêm trình chuyển đổi Qwik cho Cloud Run
    npm run qwik add cloud-run
    
  5. Triển khai ứng dụng
    gcloud run deploy --allow-unauthenticated
    
    Khi được nhắc chọn lựa chọn ưu tiên, hãy nhấn phím Enter để chấp nhận các lựa chọn mặc định.

Truy cập vào ứng dụng của bạn

Quá trình triển khai sẽ mất vài phút. Khi hoàn tất, Cloud Run sẽ trả về một URL như:

https://qwik-app-xxxxxxxxxx-uc.a.run.app

Mở URL được cung cấp trong một thẻ trình duyệt mới để xem ứng dụng đã triển khai.

Ảnh chụp màn hình ứng dụng Qwik

Dọn dẹp không bắt buộc

  1. Xoá dự án Qwik trên thiết bị
    cd ..
    rm -rf qwik-app
    
  2. Xoá dịch vụ Qwik Cloud Run
    gcloud run services delete qwik-app
    
    Khi được hỏi liệu bạn có muốn tiếp tục hay không, hãy nhấn phím Enter để tiếp tục.

15. Xin chúc mừng!

Chúc mừng bạn đã hoàn thành lớp học lập trình này!

Bạn nên xem tài liệu về Hướng dẫn nhanh: Triển khai lên Cloud Run từ kho lưu trữ git để các bản dựng trong tương lai có thể tự động triển khai mỗi khi bạn đẩy lên tính năng quản lý phiên bản.

Nội dung đã đề cập

  • Cách tự động triển khai các khung JavaScript mà Cloud Build hỗ trợ
    • SSR Angular – dựa trên Angular
    • Nuxt.js – dựa trên Vue.js
    • Next.js – dựa trên React
    • Remix – dựa trên React
    • SvelteKit – dựa trên Svelte
    • SolidStart – dựa trên Solid.js
  • Cách triển khai các khung JavaScript yêu cầu cấu hình
    • Chụp ảnh thiên văn
    • Qwik

16. Dọn dẹp

Để tránh bị tính phí ngoài ý muốn (ví dụ: nếu dịch vụ Cloud Run này được gọi nhiều lần hơn hạn mức gọi Cloud Run hằng tháng của bạn trong cấp miễn phí), bạn có thể xoá công việc Cloud Run hoặc xoá dự án mà bạn đã tạo ở Bước 1.

Để xoá các dịch vụ Cloud Run, hãy truy cập vào Cloud Console của Cloud Run tại https://console.cloud.google.com/run/ rồi xoá các dịch vụ Cloud Run.

Nếu chọn xoá toàn bộ dự án, bạn có thể truy cập vào https://console.cloud.google.com/cloud-resource-manager, chọn dự án bạn đã tạo ở Bước 2 rồi chọn Xoá. Nếu xoá dự án, bạn sẽ cần thay đổi dự án trong Cloud SDK. Bạn có thể xem danh sách tất cả các dự án có sẵn bằng cách chạy gcloud projects list.