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 công việc "từ con số 0 đến anh hùng" cho kỹ thuật nền tảng bằng Gemini CLItiện ích CI/CD. Bạn sẽ đóng vai trò là nhà phát triển doanh nghiệp đã tạo một ứng dụng (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 thủ công các quy trình phức tạp, bạn sẽ sử dụng ngôn ngữ tự nhiên để hướng dẫn Gemini. Tác nhân 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 CLItiệ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 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 các 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 bộ chọn dự án, hãy chọn hoặc tạo một dự án trên 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 bật trên một dự án hay chưa.

Bắt đầu 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 bảng điều khiển Cloud.
  2. Sau khi kết nối với Cloud Shell, hãy xác minh quá trình xác thực:
    gcloud auth list
    
  3. Xác nhận rằng bạn đã định cấu hình dự án:
    gcloud config get project
    
  4. Nếu dự án của bạn chưa đượ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 bắt buộc cho lớp học lập trình này:

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

3. Thiết lập Gemini CLI

Ở bước này, bạn sẽ cài đặt và định cấu hình Gemini CLI và 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. 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 quá 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 phải đị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: Việc định cấu hình gcloud với một dự án mặc định và dự án hạn mức cho ADC sẽ giúp ích. 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

Bây giờ, 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 lớp học lập trình này, chúng ta sẽ sử dụng ứng dụng mẫu Spring Petclinic phổ biến. 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ợ (như Python/Flask, Java/Spring Boot, v.v.).

  1. Sao chép kho lưu trữ và 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 sử 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: Công 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 để tìm 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: Công cụ này sẽ sử dụng gcloud để đọc môi trường dự án hiện tại của bạn.
  • Đề xuất tham số: Công 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 xét 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í liên tục cho Tài khoản Google Cloud, hãy xoá các tài nguyên được tạo trong lớp học lập trình này.

Nếu đã triển khai lên Cloud Run, bạn có thể xoá dịch vụ bằng lệnh sau (thay thế bằng khu vực tính 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 CLItiệ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ý quá 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 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.
  • Kiểm tra tiện ích CI/CD.
  • Tìm hiểu thêm về Developer Connect.

Tài liệu tham khảo