REST Resource: projects.locations.backends.builds

資源:版本

一個建構於特定點碼集參考標記與時間點的後端單一版本。封裝多項資源,包括 Artifact Registry 容器映像檔、建構該映像檔的 Cloud Build 叫用,以及使用該映像檔的 Cloud Run 修訂版本。

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
}
欄位
name

string

ID。建構作業的資源名稱。

格式:

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

displayName

string

選用設定。人類可讀的名稱。長度上限為 63 個半形字元。

state

enum (State)

僅供輸出。建構狀態。

error

object (Status)

僅供輸出。建構的狀態和 (人類可讀) 錯誤訊息 (處於 FAILED 狀態時)。

environment

string

僅供輸出。建立這項建構作業時的後端環境名稱。

config

object (Config)

選用設定。服務的其他設定。

image

string

僅供輸出。Cloud Run revision 用於這個版本的 Artifact Registry 容器映像檔 URI。

source

object (BuildSource)

執行個體類型,不可變動。建構作業的原始碼。

buildLogsUri

string

僅供輸出。建構程序的 Cloud Build 記錄檔位置。

reconciling

boolean

僅供輸出。如果欄位為 true,表示建構作業有進行中的 LRO。

createTime

string (Timestamp format)

僅供輸出。建立版本的時間。

RFC3339 世界標準時間「Zulu」的時間戳記格式,解析度為奈秒,且最多 9 個小數位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

updateTime

string (Timestamp format)

僅供輸出。上次更新時間。

RFC3339 世界標準時間「Zulu」的時間戳記格式,解析度為奈秒,且最多 9 個小數位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

deleteTime

string (Timestamp format)

僅供輸出。刪除建構作業的時間。

RFC3339 世界標準時間「Zulu」的時間戳記格式,解析度為奈秒,且最多 9 個小數位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

labels

map (key: string, value: string)

選用設定。可用於整理物件及分類物件的非結構化鍵/值對應。

包含 "key": value 組合清單的物件。範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

annotations

map (key: string, value: string)

選用設定。非結構化鍵/值對應,可由外部工具設定,用於儲存和任意中繼資料。無法查詢,且在修改物件時應保留下來。

包含 "key": value 組合清單的物件。範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

uid

string

僅供輸出。系統指派的專屬 ID。

etag

string

僅供輸出。以其他值為基礎的伺服器運算總和檢查碼;更新或刪除時可能傳送,以確保作業會在預期的資源上完成。

狀態

建構狀態。

列舉
STATE_UNSPECIFIED 建構作業處於不明狀態。
BUILDING 版本正在建構中。
BUILT 建構作業已完成,正在等待下一個步驟。App Hosting 開始設定基礎架構後,這可能會移至 DEPLOYING。
DEPLOYING 正在設定這項建構作業的基礎架構。
READY 這個版本的基礎架構已準備就緒。建構作業不一定能處理流量 - 請查看 Backend.traffic 瞭解目前狀態,或查看 Backend.traffic_statuses 代表所需狀態。
FAILED 建構作業失敗。

設定

此建構作業的後端其他設定。

JSON 表示法
{
  "runConfig": {
    object (RunConfig)
  }
}
欄位
runConfig

object (RunConfig)

選用設定。Cloud Run service 的其他設定。

執行設定

要套用至 Cloud Run service 的其他設定。

JSON 表示法
{
  "cpu": number,
  "memoryMib": integer,
  "concurrency": integer,
  "maxInstances": integer,
  "minInstances": integer
}
欄位
cpu

number

選用設定。每個服務執行個體使用的 CPU 數量。

CPU 預設使用 Cloud Run 的預設值 1.0。

CPU 可設為值 1、2、4、6 或 8。如果 CPU 數量小於 1 個,可用值介於 0.08 至 1.00 之間,以 0.01 為單位遞增。

如果設為小於 1 CPU,必須將並行設為 1,且系統只會在要求處理期間分配 CPU。

提高 CPU 限制可能會增加記憶體限制:

  • 4 個 CPU:至少 2 GiB
  • 6 個 CPU:至少 4 GiB
  • 8 個 CPU:至少 4 GiB
memoryMib

integer

選用設定。分配給 MiB 中每個服務執行個體的記憶體量。

根據預設,記憶體預設為 Cloud Run 的預設分配方式,也就是每個執行個體分配 512 MiB 的記憶體。

記憶體可設為介於 128 至 32768 之間的任何整數值。

提高記憶體限制可能會增加 CPU 限制:

  • 超過 4 GiB:至少 2 個 CPU
  • 超過 8 GiB:至少 4 個 CPU
  • 超過 16 GiB:至少 6 個 CPU
  • 超過 24 GiB:至少 8 個 CPU
concurrency

integer

選用設定。每個 Cloud Run 執行個體可以接收的要求數量上限。

根據預設,每個執行個體一次最多可以接收 80 個 Cloud Run 要求。

並行可設為任何整數值,上限為 1000。

maxInstances

integer

選用設定。每個修訂版本最多要維護的 Cloud Run 執行個體數量。

根據預設,每個 Cloud Run service 都會向外擴充為 Cloud Run 的預設執行個體數量上限 (最多 100 個)。最大執行個體數量限制是以您的配額為準。請參閱 https://cloud.google.com/run/docs/configuring/max-instances#limits

minInstances

integer

選用設定。每項 Cloud Run 服務所需保留的 Cloud Run 執行個體數量下限。

根據預設,這個數量沒有下限。

即使服務會將流量拆分至多個修訂版本,服務的執行個體總數上限仍會是這個值。

建構來源

建構作業的原始碼。

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.
}
欄位
聯集欄位 source。建構作業的輸入來源。通常會參照原始碼存放區中的修訂版本。也可以參照容器映像檔。source 只能採用下列其中一種設定:
codebase

object (CodebaseSource)

程式碼集來源。

container

object (ContainerSource)

Artifact Registry 容器映像檔來源。

程式碼集來源

程式碼集來源,代表用於建立建構作業的程式碼集狀態。

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.
}
欄位
displayName

string

僅供輸出。在顯示版本時,用於這個 Codebase 的易記名稱。我們會使用 GitHub.com 的 SHA-1 雜湊前八個字元。

hash

string

僅供輸出。Git 修訂版本的完整 SHA-1 雜湊 (如有)。

commitMessage

string

僅供輸出。程式碼集變更的訊息。

uri

string

僅供輸出。連結至主機供應商網站上程式碼集的 URI。如果已在連結存放區中重新為修訂版本或強制停止存在,則可能無效。

author

object (UserMetadata)

僅供輸出。版本管控變更的中繼資料中包含的作者。

commitTime

string (Timestamp format)

僅供輸出。進行變更的時間。

RFC3339 世界標準時間「Zulu」的時間戳記格式,解析度為奈秒,且最多 9 個小數位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

聯集欄位 reference

reference 只能採用下列其中一種設定:

branch

string

程式碼集中的要建構來源分支,使用最新的修訂版本。

commit

string

程式碼集中的修訂版本。

UserMetadata

與已解析程式碼集相關聯的使用者版本管控中繼資料。目前假設的是 Git 使用者。

JSON 表示法
{
  "displayName": string,
  "email": string,
  "imageUri": string
}
欄位
displayName

string

僅供輸出。「name」也會寫入 Git 使用者 git.config 中的欄位此為 Git 的必要欄位。

email

string

僅供輸出。「電子郵件」] 欄位 (如有)。

imageUri

string

僅供輸出。外部來源控制供應器中的使用者帳戶相關圖片檔的 URI (如果有的話)。

ContainerSource

要做為建構來源的 Artifact Registry 容器映像檔 URI。

JSON 表示法
{
  "image": string
}
欄位
image

string

執行個體類型,代表後端容器要使用的 URI。

方法

create

為後端建立新建構作業。

delete

刪除單一建構。

get

取得建構作業的相關資訊。

list

列出指定專案、位置和後端中的建構作業。