本文說明如何運用 Developer Connect 洞察資料提供的智慧功能。
事前準備
如要使用 Developer Connect 洞察資料,請先按照「設定 Developer Connect 洞察資料」一文中的步驟操作。如要瞭解使用 Developer Connect 洞察資料所需的角色和權限,請參閱該文章。
在 Gemini Cloud Assist 中使用 Developer Connect 洞察資料
您可以使用 Gemini Cloud Assist,查看 Developer Connect 洞察資料生成的洞察資訊。
在 Gemini Cloud Assist 中建立調查時,系統會自動選取與 App Hub 應用程式相關的部署作業,或專案中的部署作業,具體取決於設定方式。進行診斷時,Gemini Cloud Assist 會將這些部署作業做為脈絡資訊。
當 Gemini Cloud Assist 將部署事件與調查作業建立關聯時,系統會顯示名為「部署 [DEPLOYMENT_NAME]」的資訊卡。
按一下資訊卡上的「相關事件」,即可在 Logs Explorer 中開啟相關記錄。
如果 Gemini Cloud Assist 認為特定部署作業導致錯誤,就會將該部署作業納入假設,並加上「Recent Deployment Impacting Application Behavior」(近期部署作業影響應用程式行為) 的標題,同時提供修正建議。
查看 Developer Connect 洞察記錄項目
使用 Developer Connect 洞察資料建立的洞察資料會儲存在 Cloud Logging 中做為記錄項目,因此您可以在 Logging 中查看部署中繼資料。如要查看 Developer Connect 洞察資料建立的記錄項目,請使用 gcloud logging read 指令,依記錄名稱篩選,如下所示:
gcloud logging read logName=projects/PROJECT_ID/logs/developerconnect.googleapis.com/sdlc_deployment` \
--project=PROJECT_ID
在這項指令中,請將 PROJECT_ID 替換為您建立 Developer Connect 洞察資料設定的專案 ID。
這項指令會傳回名稱為 sdlc_deployment 的記錄,但您也可以依其他值進行篩選,例如 Developer Connect 洞察資料設定 ID (labels.insights_config_id=),顯示特定洞察資料設定的記錄項目。
以下是 Developer Connect 洞察資料產生的 JSON 記錄項目範例:
{
"insertId": "11h69plf2713tb",
"jsonPayload": {
"previousDeployment": {
"resource": "//container.googleapis.com/projects/P/locations/L/clusters/dci-cluster",
"deploymentId": "//container.googleapis.com/projects/P/locations/L/clusters/dci-cluster/k8s/namespaces/default/apps/replicasets/dci-test-app-c8cf94d46",
"artifactDetails": [
{
"commitReferences": [
{
"commitSha": "5460433ebfc4b2a7602e21f90828559b4891943e",
"commitUrl": "https://github.com/USER/REPO/commit/5460433ebfc4b2a7602e21f90828559b4891943e"
}
],
"packages": [
{
"packageVersion": "3.40.1-2+deb12u1",
"packageName": "libsqlite3-0"
},
{
"packageVersion": "0.45.1",
"packageName": "wheel"
},
],
"artifactUri": "us-central1-docker.pkg.dev/P/R/dci-test-app-image@sha256:86ee1874886beb7d2042e40e3ff7253a974c579d49dbbfbba576aad13c880709"
}
],
"statusSummary": "1/1 Running",
"timestamp": "2025-03-21T21:13:28Z"
},
"currentDeployment": {
"resource": "//container.googleapis.com/projects/P/locations/L/clusters/dci-cluster",
"statusSummary": "5/5 Running",
"artifactDetails": [
{
"packages": [
{
"packageVersion": "3.40.1-2+deb12u1",
"packageName": "libsqlite3-0"
},
{
"packageVersion": "0.45.1",
"packageName": "wheel"
},
],
"artifactUri": "us-central1-docker.pkg.dev/P/R/dci-test-app-image@sha256:86ee1874886beb7d2042e40e3ff7253a974c579d49dbbfbba576aad13c880709",
"commitReferences": [
{
"commitUrl": "https://github.com/USER/REPO/commit/5460433ebfc4b2a7602e21f90828559b4891943e",
"commitSha": "5460433ebfc4b2a7602e21f90828559b4891943e"
}
]
},
{
"artifactUri": "us-central1-docker.pkg.dev/P/R/dci-test-app-image@sha256:86ee1874886beb7d2042e40e3ff7253a974c579d49dbbfbba576aad13c880709",
"packages": [
{
"packageVersion": "3.40.1-2+deb12u1",
"packageName": "libsqlite3-0"
},
{
"packageVersion": "0.45.1",
"packageName": "wheel"
},
],
"commitReferences": [
{
"commitSha": "5460433ebfc4b2a7602e21f90828559b4891943e",
"commitUrl": "https://github.com/USER/REPO/commit/5460433ebfc4b2a7602e21f90828559b4891943e"
}
]
}
],
"deploymentId": "//container.googleapis.com/projects/P/locations/L/clusters/dci-cluster/k8s/namespaces/default/apps/replicasets/recommendation-app-c8cf94d46",
"timestamp": "2025-03-21T21:16:33Z"
}
},
"resource": {
"type": "k8s_cluster",
"labels": {
"location": "us-central1",
"project_id": "REDACTED",
"cluster_name": "REDACTED"
}
},
"timestamp": "2025-03-21T21:16:33Z",
"severity": "INFO",
"labels": {
"insights_config_id": "projects/P/locations/L/insightsConfigs/ecommerce-699",
"insights_config_deployment_id": "projects/P/locations/L/insightsConfigs/ecommerce-699/deployments/ee54cbae-08f4-4970-a61b-bc28740572c7"
},
"logName": "projects/P/logs/developerconnect.googleapis.com%2Fsdlc_deployment",
"receiveTimestamp": "2025-03-21T21:18:01.154658625Z",
"apphub": {
"application": {
"container": "projects/dci-test-project-3",
"location": "us-central1",
"id": "dci-test-app"
},
"workload": {
"id": "dci-test-app",
"environmentType": "PRODUCTION",
"criticalityType": "MISSION_CRITICAL"
}
}
}
查看 Developer Connect 洞察部署事件
除了使用 Logging 查看洞察資料,您也可以從指令列列出部署事件,並查看這些部署事件的詳細資料。
列出部署事件
如要列出特定洞察設定的部署事件,請執行下列指令:
gcloud alpha developer-connect insights-configs deployment-events list \
--insights-config=INSIGHTS_CONFIG_ID \
--location=LOCATION \
--project=PROJECT_ID
更改下列內容:
INSIGHTS_CONFIG_ID 是建立 Developer Connect 洞察設定時指定的名稱。
LOCATION 是您建立 Developer Connect 洞察資料設定的地區。
PROJECT_ID 是您建立洞察設定的 Google Cloud 專案 ID。
以下是 deployment-events list 指令的 JSON 輸出範例,顯示 Developer Connect 洞察資料產生的部署事件:
[
{
"artifactDeployments": [
{
"artifactAlias": "us-central1-docker.pkg.dev/my-project/my-registry/my-app@sha256:1234567890",
"artifactReference": "us-central1-docker.pkg.dev/my-project/my-registry/my-app@sha256:1234567890",
"containerStatusSummary": "Running-N/A : 1",
"deployTime": "2025-10-20T16:10:48Z",
"id": "0a9b8c7d6e5f4g3h2i1",
"sourceCommitUris": [
"https://github.com/myGitHub/my-GitHub-project/commit/5806255405d"
]
}
],
"deployTime": "2025-10-20T16:10:48Z",
"name": "projects/111111111/locations/us-central1/insightsConfigs/my-ic/deploymentEvents/daf0987654321",
"runtimeConfig": {
"uri": "//container.googleapis.com/projects/111111111/locations/us-central1/clusters/my-cluster/k8s/namespaces/default/apps/deployments/my-deployment"
},
"runtimeDeploymentUri": "//container.googleapis.com/projects/111111111/locations/us-central1/clusters/my-cluster/k8s/namespaces/default/apps/replicasets/my-deployment-6c74f4cdbb",
"state": "STATE_ACTIVE"
},
{
"artifactDeployments": [
{
"artifactAlias": "us-central1-docker.pkg.dev/my-project/my-registry/my-app@sha256:24680",
"artifactReference": "us-central1-docker.pkg.dev/my-project/my-registry/my-app@sha256:24680",
"containerStatusSummary": "Terminated-Error (Exit Code: 137) : 1",
"deployTime": "2025-10-20T15:29:32Z",
"id": "2a4b6c8d0e",
"sourceCommitUris": [
"https://github.com/myGitHub/my-GitHub-project/commit/n6f8e1269f2c18"
],
"undeployTime": "2025-10-20T18:46:47Z"
}
],
"deployTime": "2025-10-20T15:29:32Z",
"name": "projects/111111111/locations/us-central1/insightsConfigs/my-ic/deploymentEvents/nkj987654321",
"runtimeConfig": {
"uri": "//container.googleapis.com/projects/111111111/locations/us-central1/clusters/my-cluster/k8s/namespaces/default/apps/replicasets/my-deployment"
},
"runtimeDeploymentUri": "//container.googleapis.com/projects/111111111/locations/us-central1/clusters/my-cluster/k8s/namespaces/default/apps/replicasets/my-deployment-6c74f4cdbb",
"state": "STATE_INACTIVE",
"undeployTime": "2025-10-20T18:46:47Z"
}
]
查看部署事件詳細資料
如要查看特定洞察設定的部署事件詳細資料 (包括安全性漏洞),請執行下列指令:
gcloud alpha developer-connect insights-configs deployment-events describe DEPLOYMENT_EVENT_ID \
--insights-config=INSIGHTS_CONFIG_ID \
--location=LOCATION \
--project=PROJECT_ID
更改下列內容:
DEPLOYMENT_EVENT_ID 是部署事件的專屬 ID。
您可以從
gcloud alpha developer-connect insights-configs deployment-events list指令傳回的事件清單中取得這個 ID。ID 位於活動name:元素的路徑結尾。舉例來說,在下列部署事件 JSON 中,事件 ID 為nkj987654321:"name": "projects/111111111/locations/us-central1/insightsConfigs/my-ic/deploymentEvents/nkj987654321"INSIGHTS_CONFIG_ID 是建立 Developer Connect 洞察設定時指定的名稱。
LOCATION 是您建立 Developer Connect 洞察資料設定的地區。
PROJECT_ID 是您建立洞察設定的 Google Cloud 專案 ID。
以下是 deployment-events describe 指令的 JSON 輸出範例,顯示由 Developer Connect 洞察資料產生的部署事件詳細資料:
{
"artifactDeployments": [
{
"artifactAlias": "us-central1-docker.pkg.dev/my-project/my-registry/my-app@sha256:1234567890",
"artifactReference": "us-central1-docker.pkg.dev/my-project/my-registry/my-app@sha256:1234567890",
"containerStatusSummary": "Running-N/A : 1",
"deployTime": "2025-12-02T01:04:30Z",
"id": "0a9b8c7d6e5f4g3h2i1",
"packages": [
{
"name": "abc",
"version": "1.3.4.20250131-1"
},
{
"name": "defg",
"version": "4.3.0"
},
],
"sourceCommitUris": [
"https://github.com/myGitHub/my-GitHub-project/commit/5806255405d"
],
"vulnerabilities": [
"CVE-2000-1234",
"CVE-2001-1234",
"CVE-2002-1234",
"CVE-2003-1234",
"CVE-2004-1234",
]
}
],
"deployTime": "2025-12-02T01:04:30Z",
"name": "projects/111111111/locations/us-central1/insightsConfigs/my-ic/deploymentEvents/daf0987654321",
"runtimeConfig": {
"uri": "//container.googleapis.com/projects/111111111/locations/us-central1/clusters/my-cluster/k8s/namespaces/default/apps/deployments/my-deployment"
},
"runtimeDeploymentUri": "//container.googleapis.com/projects/111111111/locations/us-central1/clusters/my-cluster/k8s/namespaces/default/apps/replicasets/my-deployment-6c74f4cdbb",
"state": "STATE_ACTIVE"
}
後續步驟
- 進一步瞭解 Gemini Cloud Assist 調查