Tôi nên triển khai mã Python ở đâu?

Triển khai ứng dụng của bạn để tải lên và chạy nó trên App Engine. Khi bạn triển khai các ứng dụng của mình, bạn tạo các phiên bản của những ứng dụng đó và các dịch vụ tương ứng của chúng trong App Engine. Bạn có thể triển khai toàn bộ ứng dụng, bao gồm tất cả mã nguồn và tệp cấu hình hoặc bạn có thể triển khai và cập nhật các phiên bản hoặc tệp cấu hình riêng lẻ

Để triển khai ứng dụng của bạn theo chương trình, hãy sử dụng API quản trị

Trước khi bắt đầu

Trước khi bạn có thể triển khai ứng dụng của mình

  • Chủ dự án Cloud phải tạo ứng dụng App Engine

  • Đảm bảo rằng tài khoản người dùng của bạn bao gồm các đặc quyền bắt buộc

  • Cấp quyền cho Cloud Build để triển khai ứng dụng trong dự án của bạn. Khi bạn triển khai ứng dụng của mình, App Engine sử dụng Cloud Build để xây dựng ứng dụng thành vùng chứa và triển khai vùng chứa vào thời gian chạy trong khu vực của ứng dụng. Theo mặc định, Cloud Build không có quyền triển khai ứng dụng Python 2, vì vậy bạn cần cấp quyền trước khi có thể triển khai ứng dụng

Cài đặt gcloud CLI

Để triển khai ứng dụng của bạn với gcloud CLI, bạn phải tải xuống, cài đặt và khởi tạo gcloud CLI

Tải xuống SDK

Nếu bạn đã cài đặt gcloud CLI và muốn định cấu hình nó để sử dụng ID dự án Cloud khác với ID mà bạn đã khởi tạo, hãy xem phần Quản lý cấu hình gcloud CLI

Sử dụng proxy

Nếu bạn đang chạy lệnh triển khai từ một hệ thống sử dụng proxy HTTP hoặc HTTPS, bạn phải định cấu hình công cụ để nó có thể giao tiếp qua proxy

Chạy các lệnh sau để định cấu hình gcloud CLI

gcloud config set proxy/type [PROXY_TYPE]
gcloud config set proxy/address [PROXY_ADDRESS]
gcloud config set proxy/port [PROXY_PORT]

Bạn cũng có thể đặt

gcloud app deploy [CONFIGURATION_FILES]
6 và
gcloud app deploy [CONFIGURATION_FILES]
7 cho proxy. Để biết thêm thông tin, hãy xem cấu hình gcloud

Triển khai một ứng dụng

Để triển khai ứng dụng của bạn lên App Engine, hãy sử dụng lệnh

gcloud app deploy [CONFIGURATION_FILES]
8 từ nơi đặt các tệp cấu hình của bạn, ví dụ:
gcloud app deploy [CONFIGURATION_FILES]
0

Chọn ID phiên bản duy nhất

Đối với các phiên bản được điều chỉnh tỷ lệ theo cách thủ công, ID phiên bản của bạn phải bắt đầu bằng một chữ cái để phân biệt chúng với các ID phiên bản dạng số. Điều này đảm bảo rằng các yêu cầu được định tuyến đến đích chính xác và tránh sự mơ hồ với các mẫu URL như
gcloud app deploy [CONFIGURATION_FILES]
1, có thể được diễn giải theo hai cách
  • Nếu phiên bản
    gcloud app deploy [CONFIGURATION_FILES]
    
    2 tồn tại, yêu cầu sẽ được chuyển đến phiên bản
    gcloud app deploy [CONFIGURATION_FILES]
    
    2 của dịch vụ
    gcloud app deploy [CONFIGURATION_FILES]
    
    4
  • Nếu phiên bản
    gcloud app deploy [CONFIGURATION_FILES]
    
    2 không tồn tại, thay vào đó, yêu cầu sẽ được chuyển đến phiên bản ID
    gcloud app deploy [CONFIGURATION_FILES]
    
    2 nơi các phiên bản của dịch vụ
    gcloud app deploy [CONFIGURATION_FILES]
    
    4 đang chạy

Bạn có thể đặt tên cho các phiên bản của mình theo cách bạn muốn đối với các phiên bản được định cấu hình để tự động thay đổi quy mô hoặc thay đổi quy mô cơ bản vì việc nhắm mục tiêu các phiên bản đó không được hỗ trợ

VÂNG

gcloud app deploy [CONFIGURATION_FILES]

Theo mặc định, lệnh triển khai tệp cấu hình

gcloud app deploy [CONFIGURATION_FILES]
0 từ thư mục hiện tại. Nếu bạn đang chạy lệnh từ một thư mục không chứa
gcloud app deploy [CONFIGURATION_FILES]
0 của ứng dụng hoặc nếu bạn muốn triển khai nhiều ứng dụng, hãy thay thế
gcloud app deploy [CONFIGURATION_FILES]
20 bằng đường dẫn đến một hoặc nhiều tệp cấu hình. Sử dụng một khoảng trắng để phân tách tên đường dẫn

Cờ tùy chọn

  • gcloud app deploy [CONFIGURATION_FILES]
    
    21. Chỉ định ID phiên bản tùy chỉnh. Theo mặc định, App Engine tạo ID phiên bản
  • gcloud app deploy [CONFIGURATION_FILES]
    
    22. Triển khai ứng dụng của bạn mà không tự động định tuyến tất cả lưu lượng truy cập đến phiên bản đó. Theo mặc định, mỗi phiên bản mà bạn triển khai được tự động định cấu hình để nhận 100% lưu lượng truy cập
  • gcloud app deploy [CONFIGURATION_FILES]
    
    23. Chỉ định một ID dự án Đám mây thay thế cho những gì bạn đã khởi tạo làm mặc định trong gcloud CLI

Để biết thêm thông tin, hãy xem tham chiếu

gcloud app deploy [CONFIGURATION_FILES]
8 hoặc chạy
gcloud app deploy [CONFIGURATION_FILES]
25 từ dòng lệnh

ví dụ

gcloud app deploy [CONFIGURATION_FILES]
2

Nếu bạn triển khai một phiên bản chỉ định ID phiên bản giống với phiên bản đã tồn tại trên App Engine, các tệp mà bạn triển khai sẽ ghi đè lên phiên bản hiện có. Điều này có thể có vấn đề nếu phiên bản đang phân phối lưu lượng truy cập vì lưu lượng truy cập vào ứng dụng của bạn có thể bị gián đoạn. Bạn có thể tránh làm gián đoạn lưu lượng truy cập nếu triển khai phiên bản mới của mình bằng một ID phiên bản khác, sau đó chuyển lưu lượng truy cập sang phiên bản đó

Triển khai nhiều ứng dụng dịch vụ

Khi ứng dụng của bạn được đưa vào nhiều dịch vụ, bạn có thể triển khai và cập nhật các dịch vụ được nhắm mục tiêu riêng lẻ hoặc tất cả các dịch vụ cùng một lúc. Việc triển khai các bản cập nhật cho dịch vụ có thể bao gồm cập nhật các tệp cấu hình riêng lẻ hoặc cập nhật mã nguồn trong các phiên bản tương ứng

Ví dụ: bạn có thể triển khai và tạo hai phiên bản trong App Engine, trong đó mỗi phiên bản chạy trong dịch vụ riêng của chúng. Phiên bản đầu tiên đóng vai trò là dịch vụ lối vào và phiên bản còn lại là phần phụ trợ của ứng dụng của bạn. Sau đó, bạn có thể triển khai các tệp cấu hình riêng lẻ để chỉ cập nhật cài đặt của dịch vụ. Bạn cũng có thể chọn triển khai phiên bản mới cho một dịch vụ để cập nhật đồng thời mã nguồn của giao diện người dùng, phụ trợ hoặc cả hai

Yêu cầu đối với nhiều dịch vụ

Bạn sử dụng các lệnh triển khai giống nhau để triển khai và cập nhật nhiều dịch vụ của ứng dụng với các yêu cầu sau

  • Ban đầu, bạn phải triển khai phiên bản ứng dụng của mình cho dịch vụ

    gcloud app deploy [CONFIGURATION_FILES]
    
    26 trước khi có thể tạo và triển khai các dịch vụ tiếp theo

  • Bạn phải chỉ định ID dịch vụ của mình trong tệp cấu hình

    gcloud app deploy [CONFIGURATION_FILES]
    
    0 của phiên bản tương ứng. Để chỉ định ID dịch vụ, bạn bao gồm định nghĩa phần tử
    gcloud app deploy [CONFIGURATION_FILES]
    
    28 trong mỗi tệp cấu hình. Theo mặc định, việc loại trừ định nghĩa phần tử này khỏi tệp cấu hình của bạn sẽ triển khai phiên bản cho dịch vụ
    gcloud app deploy [CONFIGURATION_FILES]
    
    26

  • Bạn phải chỉ định tất cả các tệp cấu hình

    gcloud app deploy [CONFIGURATION_FILES]
    
    0 tương ứng trong lệnh triển khai của mình để triển khai đồng thời nhiều dịch vụ

Để triển khai nhiều dịch vụ

Từ thư mục gốc của ứng dụng chứa các tệp cấu hình, bạn chạy lệnh triển khai và chỉ định đường dẫn tương đối và tên tệp cho tệp

gcloud app deploy [CONFIGURATION_FILES]
0 của mỗi dịch vụ

gcloud app deploy [CONFIGURATION_FILES]

Trong đó

gcloud app deploy [CONFIGURATION_FILES]
20 là một hoặc nhiều đường dẫn và tên của tệp cấu hình được phân tách bằng một khoảng trắng

Thí dụ
gcloud app deploy [CONFIGURATION_FILES]
6

Bạn sẽ nhận được xác minh qua dòng lệnh khi mỗi dịch vụ được triển khai thành công

Xem nhật ký xây dựng

Các luồng Cloud Build xây dựng và triển khai nhật ký có thể xem được trong phần lịch sử Cloud Build của bảng điều khiển Google Cloud. Để xem các bản dựng trong khu vực của ứng dụng, hãy sử dụng menu thả xuống Khu vực ở đầu trang để chọn khu vực bạn muốn lọc theo

Đang cập nhật chỉ mục

Để tạo hoặc cập nhật các chỉ mục mà ứng dụng của bạn sử dụng, hãy tải tệp cấu hình

gcloud app deploy [CONFIGURATION_FILES]
3 lên Kho dữ liệu. Các chỉ mục chưa tồn tại được tạo sau khi tệp cấu hình đó được tải lên

Có thể mất một lúc để Datastore tạo tất cả các chỉ mục và do đó, các chỉ mục đó sẽ không có sẵn ngay lập tức cho App Engine. Nếu ứng dụng của bạn đã được định cấu hình để nhận lưu lượng truy cập thì có thể xảy ra ngoại lệ đối với các truy vấn yêu cầu chỉ mục vẫn đang trong quá trình xây dựng

Để tránh các trường hợp ngoại lệ, bạn phải dành thời gian cho tất cả các chỉ mục để xây dựng, ví dụ:

  • Tải tệp cấu hình

    gcloud app deploy [CONFIGURATION_FILES]
    
    3 lên Kho dữ liệu trước khi bạn triển khai phiên bản của mình

    1. Tải tệp

      gcloud app deploy [CONFIGURATION_FILES]
      
      3 lên Kho dữ liệu

      gcloud app deploy [CONFIGURATION_FILES]
      
      0

      Để biết thông tin, xem tài liệu tham khảo

      gcloud app deploy [CONFIGURATION_FILES]
      
      6

    2. Sử dụng bảng điều khiển Google Cloud để theo dõi trạng thái của tất cả các chỉ mục của bạn

      Chuyển đến trang Kho dữ liệu

    3. Sau khi tất cả các chỉ mục của bạn được tạo, hãy triển khai phiên bản mới cho App Engine

  • Xây dựng các chỉ mục của bạn trước khi di chuyển hoặc phân chia lưu lượng truy cập sang phiên bản của bạn

    1. Triển khai phiên bản mới mà không định tuyến lưu lượng đến phiên bản đó. Bạn phải chỉ định cả tệp
      gcloud app deploy [CONFIGURATION_FILES]
      
      0 và
      gcloud app deploy [CONFIGURATION_FILES]
      
      3, đồng thời bao gồm cờ
      gcloud app deploy [CONFIGURATION_FILES]
      
      22 để không có lưu lượng truy cập nào được chuyển đến phiên bản.
      gcloud app deploy [CONFIGURATION_FILES]
      
      5
    2. Sử dụng bảng điều khiển Google Cloud để theo dõi trạng thái của tất cả các chỉ mục của bạn

      Chuyển đến trang Kho dữ liệu

    3. Sau khi tất cả các chỉ mục của bạn được tạo, hãy sử dụng bảng điều khiển Google Cloud để di chuyển hoặc phân chia lưu lượng truy cập sang phiên bản của bạn

      Chuyển đến trang Phiên bản

Để biết thêm thông tin về chỉ mục, hãy xem Định cấu hình chỉ mục kho dữ liệu

Xử lý sự cố

Sau đây là các thông báo lỗi phổ biến mà bạn có thể gặp phải

gcloud app deploy [CONFIGURATION_FILES]
60
gcloud app deploy [CONFIGURATION_FILES]
61Nếu dự án Đám mây không bao gồm ứng dụng App Engine được yêu cầu, lệnh
gcloud app deploy [CONFIGURATION_FILES]
8 có thể không thành công khi cố chạy lệnh
gcloud app deploy [CONFIGURATION_FILES]
63. Chỉ những tài khoản có vai trò Chủ sở hữu mới có quyền cần thiết để tạo ứng dụng App Engine.
gcloud app deploy [CONFIGURATION_FILES]
64Nếu bạn không tạo liên kết tượng trưng cho công cụ
gcloud app deploy [CONFIGURATION_FILES]
65 khi cài đặt SDK máy ứng dụng [không dùng nữa], bạn có thể cần chỉ định đường dẫn thư mục đầy đủ để chạy công cụ, chẳng hạn.
gcloud app deploy [CONFIGURATION_FILES]
66.
gcloud app deploy [CONFIGURATION_FILES]
67Nếu bạn đã cài đặt cả gcloud CLI cũng như SDK máy ứng dụng gốc, các mục nhập vào PATH của bạn có thể xung đột với nhau và gây ra lỗi nhập. Nếu bạn gặp lỗi khi chạy các lệnh gcloud CLI, hãy thử sử dụng SDK App Engine gốc một cách rõ ràng. Bạn có thể di chuyển mục nhập cho SDK máy ứng dụng ban đầu sang phần trước trong PATH của mình để các lệnh đó được ưu tiên. Ngoài ra, bạn có thể chạy lệnh bằng cách chỉ định đường dẫn thư mục đầy đủ.
gcloud app deploy [CONFIGURATION_FILES]
68.
Trên Linux hoặc Mac, bạn có thể chạy
gcloud app deploy [CONFIGURATION_FILES]
69 để xác định SDK nào đầu tiên trong PATH của bạn.
gcloud app deploy [CONFIGURATION_FILES]
00Trước khi bạn có thể triển khai và tạo nhiều dịch vụ cho ứng dụng của mình, trước tiên bạn phải triển khai và tạo dịch vụ
gcloud app deploy [CONFIGURATION_FILES]
26. Để biết chi tiết về cách triển khai phiên bản cho dịch vụ
gcloud app deploy [CONFIGURATION_FILES]
26, hãy xem Triển khai nhiều ứng dụng dịch vụ.
gcloud app deploy [CONFIGURATION_FILES]
03App Engine có giới hạn về số lượng phiên bản được triển khai của ứng dụng của bạn. Chúng khác nhau đối với các ứng dụng miễn phí và ứng dụng đã triển khai. Bạn có thể sử dụng bảng điều khiển Google Cloud để xóa phiên bản cũ hơn rồi tải lên mã mới nhất của mình.
gcloud app deploy [CONFIGURATION_FILES]
04

App Engine tạo bộ chứa đa khu vực Lưu trữ đám mây mặc định thay mặt bạn, trên cùng khu vực nơi ứng dụng của bạn được tạo. Bộ chứa này được yêu cầu để lưu trữ nội dung của ứng dụng của bạn. Lỗi này được trả về khi không thể tạo nhóm này, trong các trường hợp sau

  • Tài khoản dịch vụ App Engine mặc định không có trong dự án của bạn. Nếu tài khoản của bạn đã bị xóa trước 30 ngày kể từ khi xóa, bạn có thể khôi phục tài khoản đó

  • Dự án của bạn thuộc một tổ chức thực thi chính sách

    gcloud app deploy [CONFIGURATION_FILES]
    
    05 và tổ chức này không cho phép tạo tài nguyên trên cùng khu vực nơi Máy ứng dụng của bạn được tạo. Bạn sẽ cần ghi đè chính sách
    gcloud app deploy [CONFIGURATION_FILES]
    
    05 đã thi hành cho dự án của mình và cho phép các vị trí đa khu vực trên cùng một khu vực nơi ứng dụng App Engine của bạn được tạo

Ghi chú. Ví dụ: nếu ứng dụng App Engine của bạn được tạo trên khu vực
gcloud app deploy [CONFIGURATION_FILES]
07, mặc dù khu vực đó ánh xạ tới các vị trí của
gcloud app deploy [CONFIGURATION_FILES]
08, bạn sẽ phải sửa đổi ràng buộc để cho phép các tài nguyên trong
gcloud app deploy [CONFIGURATION_FILES]
09, bao gồm . Nếu ứng dụng App Engine của bạn được tạo trên các vùng
gcloud app deploy [CONFIGURATION_FILES]
51 và
gcloud app deploy [CONFIGURATION_FILES]
52, bạn sẽ phải cho phép
gcloud app deploy [CONFIGURATION_FILES]
53 hoặc
gcloud app deploy [CONFIGURATION_FILES]
54 tương ứng.
______355

Lỗi này có thể xảy ra nếu tệp cấu hình

gcloud app deploy [CONFIGURATION_FILES]
0 của Máy ứng dụng chứa tài nguyên không hợp lệ
gcloud app deploy [CONFIGURATION_FILES]
57 trong khóa
gcloud app deploy [CONFIGURATION_FILES]
58. Đảm bảo rằng trường
gcloud app deploy [CONFIGURATION_FILES]
57 chứa đúng dự án và khu vực nơi trình kết nối Truy cập VPC không máy chủ của bạn được tạo

Nếu sự cố vẫn tiếp diễn sau khi đảm bảo cấu hình

gcloud app deploy [CONFIGURATION_FILES]
0 của bạn hợp lệ, hãy sử dụng Google Cloud SDK để triển khai lại dịch vụ của bạn, thêm cờ
gcloud app deploy [CONFIGURATION_FILES]
61 và liên hệ với Bộ phận hỗ trợ của đám mây bằng cách cung cấp đầu ra của lệnh

Lỗi triển khai khác

Nếu quá trình triển khai của bạn không thành công, hãy đảm bảo Cloud Build API được bật trong dự án của bạn. Máy ứng dụng tự động kích hoạt API này khi bạn triển khai ứng dụng lần đầu tiên, nhưng nếu ai đó đã tắt API này thì quá trình triển khai sẽ không thành công

Tôi nên chạy mã Python của mình ở đâu?

Bạn hiện có thể chạy tập lệnh Python từ. .
Dòng lệnh hoặc thiết bị đầu cuối của hệ điều hành
Chế độ tương tác Python
IDE hoặc trình soạn thảo văn bản mà bạn thích nhất
Trình quản lý tệp của hệ thống của bạn, bằng cách nhấp đúp vào biểu tượng tập lệnh của bạn

Tôi có thể xuất bản các dự án Python ở đâu?

Tìm hiểu cách xuất bản các dự án Python của bạn theo cách hiện đại. Khi bạn muốn chia sẻ dự án Python của mình, cho mục đích riêng tư, mã nguồn mở hoặc thương mại, bạn cần xuất bản nó lên PyPI hoặc các kho lưu trữ gói khác .

Chủ Đề