Triển khai ứng dụng bằng Gemini CLI và kỹ năng CI/CD

1. Giới thiệu

Trong lớp học lập trình này, bạn sẽ trải nghiệm quy trình "từ con số 0 đến chuyên gia" về kỹ thuật nền tảng bằng cách sử dụng Gemini CLI và tiện ích CI/CD. Bạn sẽ đóng vai trò là một nhà phát triển doanh nghiệp đã tạo một ứng dụng (chẳng hạn như bản minh hoạ Spring Petclinic hoặc ứng dụng Python Flask) và hiện muốn triển khai ứng dụng đó lên Google Cloud để chia sẻ.

Thay vì định cấu hình các quy trình phức tạp theo cách thủ công, bạn sẽ sử dụng ngôn ngữ tự nhiên để hướng dẫn Gemini. Tác nhân này sẽ phân tích dự án của bạn, đề xuất các thời gian chạy mục tiêu quy mô nhỏ như Google Cloud Run, thực hiện quét bảo mật để tìm các bí mật bị rò rỉ và xử lý việc triển khai, đồng thời cung cấp cho bạn một URL đang hoạt động.

Bạn sẽ thực hiện

  • Sao chép một kho lưu trữ (bạn có thể sử dụng kho lưu trữ của riêng mình hoặc một ứng dụng minh họa như Spring Petclinic).
  • Cài đặt và định cấu hình Gemini CLI và tiện ích CI/CD.
  • Sử dụng một câu lệnh như deploy my application để kích hoạt kỹ năng triển khai.
  • Chứng kiến Gemini phân tích dự án, đề xuất Cloud Run, chạy quy trình kiểm tra bảo mật và triển khai ứng dụng.
  • Xác minh ứng dụng đang chạy.

Bạn cần có

  • Một trình duyệt web như Chrome.
  • Một dự án trên Google Cloud đã bật tính năng thanh toán.

Lớp học lập trình này dành cho nhà phát triển ở mọi cấp độ, kể cả người mới bắt đầu.

2. Trước khi bắt đầu

Thiết lập thanh toán

Tạo hoặc chọn một dự án trên Google Cloud

Tạo một dự án trên Google Cloud

  1. Trong Google Cloud Console, trên trang chọn dự án, hãy chọn hoặc tạo một dự án trên đám mây của Google Cloud.
  2. Đảm bảo bạn đã bật tính năng thanh toán cho dự án trên Cloud. Tìm hiểu cách kiểm tra xem tính năng thanh toán có được bật trong một dự án hay không.

Khởi động Cloud Shell

Cloud Shell là một môi trường dòng lệnh chạy trong Google Cloud và được tải sẵn các công cụ cần thiết.

  1. Nhấp vào Kích hoạt Cloud Shell ở đầu Cloud Console.
  2. Sau khi kết nối với Cloud Shell, hãy xác minh thông tin xác thực của bạn:
    gcloud auth list
    
  3. Xác nhận rằng dự án của bạn đã được định cấu hình:
    gcloud config get project
    
  4. Nếu dự án của bạn không được thiết lập như mong đợi, hãy thiết lập dự án:
    export PROJECT_ID=<YOUR_PROJECT_ID>
    gcloud config set project $PROJECT_ID
    

Bật API

Chạy lệnh này trong Cloud Shell để bật tất cả các API cần thiết cho bài thực hành này:

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

3. Thiết lập Gemini CLI

Trong bước này, bạn sẽ cài đặt và định cấu hình Gemini CLI cũng như tiện ích CI/CD.

  1. Đảm bảo bạn đã cài đặt Gemini CLI. Nếu bạn chưa cài đặt, hãy làm theo hướng dẫn trong Hướng dẫn bắt đầu sử dụng Gemini CLI.
  2. Đăng nhập: Bạn nên đăng nhập bằng Tài khoản Google của mình. Hãy xem Hướng dẫn xác thực để biết thông tin chi tiết.
  3. Cài đặt tiện ích CI/CD: Chạy lệnh sau để cài đặt tiện ích từ GitHub:
    gemini extensions install https://github.com/gemini-cli-extensions/cicd
    
    Bạn có thể xác thực quy trình cài đặt tiện ích bằng cách liệt kê các tiện ích đã cài đặt:
    gemini extensions list
    
  4. Định cấu hình thông tin xác thực mặc định của ứng dụng (ADC): Tiện ích CI/CD yêu cầu bạn định cấu hình ADC. Chạy:
    gcloud auth login
    gcloud auth application-default login
    
  5. Đặt dự án và khu vực mặc định: Bạn nên định cấu hình gcloud bằng một dự án mặc định và dự án hạn mức cho ADC. Thay thế bằng các giá trị thực tế của bạn (ví dụ: my-project):
    gcloud config set project <PROJECT_ID>
    gcloud auth application-default set-quota-project <PROJECT_ID>
    

4. Triển khai ứng dụng

Giờ đây, bạn đã sẵn sàng sử dụng Gemini CLI và tiện ích CI/CD để triển khai ứng dụng.

Sao chép kho lưu trữ

Trong phòng thí nghiệm này, chúng ta sẽ sử dụng ứng dụng mẫu phổ biến Spring Petclinic. Bạn cũng có thể sử dụng ứng dụng của riêng mình nếu đã chuẩn bị sẵn một ứng dụng sử dụng thời gian chạy được hỗ trợ (chẳng hạn như Python/Flask, Java/Spring Boot, v.v.).

  1. Sao chép kho lưu trữ rồi chuyển đến thư mục:
    git clone https://github.com/spring-projects/spring-petclinic.git
    cd spring-petclinic
    

Yêu cầu Gemini triển khai

  1. Khởi chạy Gemini CLI từ thư mục dự án:
    gemini
    
  2. Sau khi vào trình bao Gemini CLI, hãy dùng tiện ích CI/CD để triển khai ứng dụng. Bạn có thể sử dụng một câu lệnh đơn giản bằng ngôn ngữ tự nhiên:
    deploy my application
    

Bước tiếp theo

Gemini sẽ kích hoạt kỹ năng google-cicd-deploy và thực hiện một số hành động:

  • Phân tích dự án: Thao tác này sẽ xác định loại ứng dụng (ví dụ: Spring Boot).
  • Đề xuất thời gian chạy: Công cụ này sẽ đề xuất một thời gian chạy phù hợp, chẳng hạn như Google Cloud Run.
  • Quét bảo mật: Công cụ này sẽ quét các bí mật bị rò rỉ bằng các công cụ MCP. Bạn nên cho phép các công cụ chạy nếu được nhắc.
  • Trích xuất cấu hình: Thao tác này sẽ dùng gcloud để đọc môi trường dự án hiện tại của bạn.
  • Đề xuất các tham số: Thao tác này sẽ trình bày các giá trị mặc định hợp lý cho các tham số triển khai và yêu cầu bạn xác nhận.

Xem lại cấu hình được đề xuất và xác nhận việc triển khai.

Sau khi hoàn tất, Gemini sẽ cung cấp cho bạn URL của ứng dụng đang chạy.

5. Dọn dẹp

Để tránh các khoản phí phát sinh cho tài khoản Google Cloud của bạn, hãy xoá các tài nguyên đã tạo trong lớp học lập trình này.

Nếu đã triển khai vào Cloud Run, bạn có thể xoá dịch vụ bằng lệnh sau (thay thế bằng khu vực điện toán của bạn, ví dụ: us-central1):

gcloud run services delete spring-petclinic --region <REGION>

Ngoài ra, nếu đã tạo một dự án riêng cho lớp học lập trình này, bạn có thể xoá toàn bộ dự án:

gcloud projects delete <YOUR_PROJECT_ID>

6. Xin chúc mừng

Xin chúc mừng! Bạn đã sử dụng thành công Gemini CLI và tiện ích CI/CD để triển khai một ứng dụng lên Google Cloud Run bằng câu lệnh bằng ngôn ngữ tự nhiên.

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

  • Cách cài đặt và định cấu hình Gemini CLI và tiện ích CI/CD.
  • Cách sử dụng ngôn ngữ tự nhiên để kích hoạt quy trình triển khai.
  • Cách Gemini phân tích dự án, xử lý các quy trình quét bảo mật và đề xuất thời gian chạy.

Các bước tiếp theo

  • Khám phá thêm các câu lệnh nâng cao hơn bằng tiện ích CI/CD, chẳng hạn như thiết kế toàn bộ quy trình hoặc tạo Terraform.
  • Hãy xem tiện ích CI/CD.
  • Tìm hiểu thêm về Developer Connect.

Tài liệu tham khảo