REST Resource: projects.locations.backends.builds

Zasób: Build

Pojedyncza kompilacja dla backendu w określonym punkcie odniesienia do bazy kodu w określonym punkcie w czasie. Obejmuje kilka zasobów, w tym obraz kontenera Artifact Registry, wywołanie Cloud Build, które skompilowało obraz, oraz wersję Cloud Run, która używa tego obrazu.

Zapis JSON
{
  "name": string,
  "displayName": string,
  "state": enum (State),
  "error": {
    object (Status)
  },
  "environment": string,
  "config": {
    object (Config)
  },
  "image": string,
  "source": {
    object (BuildSource)
  },
  "buildLogsUri": string,
  "reconciling": boolean,
  "createTime": string,
  "updateTime": string,
  "deleteTime": string,
  "labels": {
    string: string,
    ...
  },
  "annotations": {
    string: string,
    ...
  },
  "uid": string,
  "etag": string
}
Pola
name

string

Identyfikator. Nazwa zasobu kompilacji.

Format:

projects/{project}/locations/{locationId}/backends/{backendId}/builds/{buildId}.

displayName

string

Opcjonalnie. Nazwa zrozumiała dla człowieka. Limit to 63 znaki.

state

enum (State)

Tylko dane wyjściowe. Stan kompilacji.

error

object (Status)

Tylko dane wyjściowe. Komunikat o stanie i komunikat o błędzie kompilacji w stanie FAILED (możliwy do odczytania przez człowieka).

environment

string

Tylko dane wyjściowe. Nazwa środowiska backendu podczas tworzenia tej kompilacji.

config

object (Config)

Opcjonalnie. Dodatkowa konfiguracja usługi.

image

string

Tylko dane wyjściowe. Identyfikator URI obrazu kontenera w Artifact Registry używany przez Cloud Run revision na potrzeby tej kompilacji.

source

object (BuildSource)

Wymagane. Stały. Źródło kompilacji.

buildLogsUri

string

Tylko dane wyjściowe. Lokalizacja logów Cloud Build związanych z procesem kompilacji.

reconciling

boolean

Tylko dane wyjściowe. Pole, które (jeśli ma wartość true) wskazuje, że kompilacja ma trwającą LRO.

createTime

string (Timestamp format)

Tylko dane wyjściowe. Czas utworzenia kompilacji.

Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Tylko dane wyjściowe. Czas ostatniej aktualizacji kompilacji.

Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

deleteTime

string (Timestamp format)

Tylko dane wyjściowe. Czas usunięcia kompilacji.

Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

labels

map (key: string, value: string)

Opcjonalnie. Nieustrukturyzowana mapa par klucz-wartość, której można używać do porządkowania i kategoryzowania obiektów.

Obiekt zawierający listę par "key": value. Przykład: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

annotations

map (key: string, value: string)

Opcjonalnie. Mapa wartości klucza nieuporządkowanego, która może być ustawiana przez narzędzia zewnętrzne do przechowywania i arbitralnych metadanych. Nie można ich tworzyć zapytań i należy je zachować podczas modyfikowania obiektów.

Obiekt zawierający listę par "key": value. Przykład: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

uid

string

Tylko dane wyjściowe. Przypisany przez system, unikalny identyfikator.

etag

string

Tylko dane wyjściowe. suma kontrolna obliczona przez serwer na podstawie innych wartości; mogą być wysyłane przy aktualizacji lub usunięcia w celu zapewnienia, że operacja zostanie wykonana na oczekiwanym zasobie.

Stan

Stan kompilacji.

Wartości w polu enum
STATE_UNSPECIFIED Stan kompilacji jest nieznany.
BUILDING Budujemy.
BUILT Kompilacja została ukończona i czeka na następny krok. Może ona zostać przeniesiona do WDROŻENIE, gdy App Hosting rozpocznie konfigurowanie infrastruktury.
DEPLOYING Konfiguruję infrastrukturę tej kompilacji.
READY Infrastruktura tej kompilacji jest gotowa. Kompilacja może, ale nie musi obsługiwać ruch – zobacz Backend.traffic, aby sprawdzić bieżący stan, lub Backend.traffic_statuses, aby zobaczyć, jaki jest stan.
FAILED Nie udało się utworzyć kompilacji.

Konfiguracja

Dodatkowa konfiguracja backendu dla tej kompilacji.

Zapis JSON
{
  "runConfig": {
    object (RunConfig)
  }
}
Pola
runConfig

object (RunConfig)

Opcjonalnie. Dodatkowa konfiguracja Cloud Run service.

Konfiguracja RunConfig

Dodatkowa konfiguracja do zastosowania w Cloud Run service.

Zapis JSON
{
  "cpu": number,
  "memoryMib": integer,
  "concurrency": integer,
  "maxInstances": integer,
  "minInstances": integer
}
Pola
cpu

number

Opcjonalnie. Liczba procesorów używanych przez każdą instancję obsługującą.

Domyślnie procesor używa domyślnej wartości Cloud Run 1.0.

Procesor może mieć wartość 1, 2, 4, 6 lub 8, a w przypadku mniej niż 1 CPU – wartość z zakresu od 0, 08 do 1, 00 w przyrostach co 0, 01.

Jeśli ustawisz wartość mniejszą niż 1 procesor, musisz ustawić równoczesność na 1. Procesor będzie przydzielany tylko podczas przetwarzania żądań.

Zwiększenie limitu procesorów może wymagać zwiększenia limitów pamięci:

  • 4 CPU: co najmniej 2 GiB
  • 6 CPU: co najmniej 4 GiB
  • 8 CPU: co najmniej 4 GiB
memoryMib

integer

Opcjonalnie. Ilość pamięci przydzielonej do każdej instancji obsługującej (w MiB).

Domyślnie pamięć jest ustawiona na wartość domyślną w Cloud Run, gdzie każda instancja jest przydzielona 512 MiB pamięci.

Pamięć może mieć dowolną wartość całkowitą z zakresu od 128 do 32 768.

Zwiększenie limitu pamięci może wymagać zwiększenia limitów procesorów:

  • Powyżej 4 GiB: co najmniej 2 procesory
  • Powyżej 8 GiB: co najmniej 4 procesory
  • Ponad 16 GiB: co najmniej 6 procesorów
  • Powyżej 24 GiB: co najmniej 8 procesorów
concurrency

integer

Opcjonalnie. Maksymalna liczba żądań, które może odebrać każda instancja Cloud Run.

Domyślnie każda instancja może odbierać domyślnie maksymalnie 80 żądań Cloud Run jednocześnie.

Równoczesność może mieć dowolną wartość całkowitą nie większą niż 1000.

maxInstances

integer

Opcjonalnie. Liczba instancji Cloud Run, które mają zostać zachowane na maksymalnym poziomie dla każdej wersji.

Domyślnie każde rozwiązanie Cloud Run service skaluje się w poziomie do domyślnej liczby 100 instancji w Cloud Run. Maksymalna liczba instancji jest określana na podstawie limitu. Więcej informacji znajdziesz na https://cloud.google.com/run/docs/configuring/max-instances#limits.

minInstances

integer

Opcjonalnie. Liczba instancji Cloud Run do utrzymywania co najmniej dla każdej usługi Cloud Run.

Domyślnie nie ma minimalnej wartości.

Nawet jeśli usługa dzieli ruch na wiele wersji, łączna liczba instancji usługi będzie ograniczona do tej wartości.

Źródło kompilacji

Źródło kompilacji.

Zapis JSON
{

  // Union field source can be only one of the following:
  "codebase": {
    object (CodebaseSource)
  },
  "container": {
    object (ContainerSource)
  }
  // End of list of possible types for union field source.
}
Pola
Pole sumy source. Źródło wejściowe kompilacji. Zwykle będzie odwoływać się do zatwierdzenia w repozytorium źródłowym. Może też odwoływać się do obrazu kontenera. source może mieć tylko jedną z tych wartości:
codebase

object (CodebaseSource)

Źródło bazy kodu.

container

object (ContainerSource)

Źródło obrazu kontenera Artifact Registry.

Źródło bazy kodu

Źródło bazy kodu reprezentujące stan bazy kodu, w którym zostanie utworzona kompilacja.

Zapis JSON
{
  "displayName": string,
  "hash": string,
  "commitMessage": string,
  "uri": string,
  "author": {
    object (UserMetadata)
  },
  "commitTime": string,

  // Union field reference can be only one of the following:
  "branch": string,
  "commit": string
  // End of list of possible types for union field reference.
}
Pola
displayName

string

Tylko dane wyjściowe. Przyjazna dla człowieka nazwa, która ma być używana dla tej bazy kodu podczas wyświetlania kompilacji. W przypadku witryny GitHub.com używamy pierwszych 8 znaków skrótu SHA-1.

hash

string

Tylko dane wyjściowe. Pełny hasz SHA-1 zatwierdzenia Git, jeśli jest dostępny.

commitMessage

string

Tylko dane wyjściowe. Komunikat o zmianie bazy kodu.

uri

string

Tylko dane wyjściowe. Identyfikator URI łączący z bazą kodu w witrynie dostawcy usług hostingowych. Może nie być prawidłowy, jeśli zatwierdzenie zostało zmienione lub wymuszone na dłużej w połączonym repozytorium.

author

object (UserMetadata)

Tylko dane wyjściowe. Autor określony w metadanych zmiany kontroli wersji.

commitTime

string (Timestamp format)

Tylko dane wyjściowe. Godzina wprowadzenia zmiany.

Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

Pole sumy reference.

reference może mieć tylko jedną z tych wartości:

branch

string

Gałąź w bazie kodu, na podstawie której ma być skompilowana, przy użyciu najnowszego zatwierdzenia.

commit

string

Zatwierdzenie w bazie kodu, na podstawie którego tworzona jest kompilacja.

UserMetadata

Metadane kontroli wersji dotyczące użytkownika powiązane z rozpoznaną bazą kodu. Obecnie zakłada użytkownika Git.

Zapis JSON
{
  "displayName": string,
  "email": string,
  "imageUri": string
}
Pola
displayName

string

Tylko dane wyjściowe. Nazwa w pliku git.config użytkownika Git. Wymagane przez Git.

email

string

Tylko dane wyjściowe. Parametr „email” w pliku git.config użytkownika Git, jeśli jest dostępny.

imageUri

string

Tylko dane wyjściowe. Identyfikator URI pliku graficznego powiązanego z kontem użytkownika w systemie zewnętrznego dostawcy kontroli źródła (jeśli jest dostępny).

Źródło kontenera

Identyfikator URI obrazu kontenera Artifact Registry, który ma być używany jako źródło kompilacji.

Zapis JSON
{
  "image": string
}
Pola
image

string

Wymagane. Identyfikator URI reprezentujący kontener, który ma być używany przez backend.

Metody

create

Tworzy nową kompilację dla backendu.

delete

Usuwa pojedynczą kompilację.

get

Pobiera informacje o kompilacji.

list

Wyświetla listę kompilacji w danym projekcie, lokalizacji i backendzie.