本文說明如何運用 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]」的資訊卡。
按一下資訊卡上的「相關事件」,即可在記錄檔探索工具中開啟相關記錄。
如果 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 調查