34 搭售品與 CI/CD (預覽版)
搭售品會定義 Oracle AI Data Platform Workbench 資源在工作區與環境中進行封裝、啟動多版本功能、共用及部署的方式。
您可以建立工作和代理程式的組合。搭售品會建立在 Git 資料夾中,以便確認搭售品檔案並將其推送至 Git 儲存庫。您包含在組合中的資源可以來自工作區中的任何位置。如果選取的資源參照支援的檔案或相依性 (例如記事本、命令檔或運算),這些參照就會包含在組合中,如此就可以在另一個環境中部署資源,而不需要手動重新建立相同的元件。
您可以從工作區建立組合,並選取要在建立時包含的 Oracle AI Data Platform Workbench 資源。您可以修改現有的組合以新增或移除資源。搭售資源可讓您將相關工作和代理程式分組,並將它們部署到其他沒有相依性的環境。
您可以透過 Git 資料夾,將組合確認並推送至 Git 儲存區域。然後,使用者可將搭售品提取至自己的環境並進行部署。變更確認並推送至 Git 儲存區域後,其他環境即可使用組合檔案變更。每當使用者從 Git 儲存區域提取更新的組合時,他們就會收到最新的確認資源檔案。
搭售品概念
| 概念 | 意義 | 使用者動作 |
|---|---|---|
| Git 資料夾 | 連線至 Git 儲存區域和分支的 AI 資料平台資料夾。只能在 Git 資料夾中建立搭售品。 | 請先建立或開啟 Git 資料夾,再建立組合。 |
| Bundle | 定義所選資源及其相依性的可部署套裝程式。 | 從工作區建立組合,然後選取資源,例如工作或代理程式流程。 |
| 組合課程內容 | 產生的檔案,描述部署所需的資源、變數、目標設定值和使用者自建物件。 | 建立或同步後複查產生的內容。準備好時,透過 Git 確認並推送搭售品。 |
| Target | 在來源環境外部部署組合時所使用的環境或工作區組態。 | 提供必須依環境變更的值,例如工作區索引鍵、證明資料名稱、權杖索引鍵或參數預設值。 |
| 已部署項目 | 由目標工作區中的組合部署所建立或更新的資源。 | 您可以使用「建置」頁籤,視需要建置、複查建置的項目、執行工作以及永久清除建置的資源。 |
| 同步 | 此組合動作會重新整理最新來源資源的組合資源和相依性。 | 變更組合資源後執行同步,然後將重新整理過的組合檔案確認至 Git。 |
開始之前
- 建立 Git 證明資料和指向組合檔案所使用之儲存區域和分支的 Git 資料夾。
- 請先確認來源資源位於工作區中,並且先儲存後再建立或同步組合。
- 若要進行跨環境部署,請確認目標工作區具備必要的權限和運算能力。
- 對於使用加密密碼的工作或記事本,請在目標證明資料存放區中建立必要的指定證明資料。組合檔案應依名稱或變數參照證明資料,不包含加密密碼值。
- 請在建立或同步組合後確認並推送組合檔案變更,讓其他環境可以提取最新的組合定義。
組合發布路徑
組合可以將程式實際執行使用者自建物件發布至使用者可檢查的工作區資料夾。程式實際執行使用者自建物件包括已部署組合資源所需的檔案,例如記事本、命令檔、程式庫以及代理程式流程檔案。公布人工因素的資料夾稱為公布路徑。使用者自建物件儲存在發布路徑內的使用者自建物件資料夾底下。
例如,如果發布路徑為:/Workspace/Shared/customer_churn_bundle,則組合人工因素會在以下位置發布:/Workspace/Shared/customer_churn_bundle/artifacts。
發布路徑不是搭售品的真值來源。組合來源檔案會保留在組合資料夾中,且應確認至 Git。發布路徑下的檔案是已部署資源所使用的執行時期檔案。如果您在發佈路徑下手動編輯檔案,這些編輯不會寫回組合來源。稍後部署可以將發布的使用者自建物件取代為組合中的檔案。
建立搭售品之後產生的收益 (預覽)
搭售品建立之後,Oracle AI Data Platform 會將您產生的檔案寫入搭售品資料夾。
確切的檔案名稱因資源類型而異,但建立的組合通常包含最上層組合資訊清單、資源定義、使用者自建物件資料夾及選擇性的覆寫檔案。
| 產生的項目 | 描述 |
|---|---|
aidp_workbench.yaml |
組合清單。識別建置期間所使用的組合、包含的資源、變數以及目標區段。 |
.aidp/resource_origins.yaml |
資源定義。描述工作、記事本工作、運算參照或代理程式流程等資源。 |
.aidp/overrides.yaml |
覆寫檔案或目標區段。保留不同環境的值,例如工作區識別碼、參數預設值、證明資料名稱或權杖索引鍵。 |
.aidp/aidp.state.json |
追蹤從組合部署的資源。用於未來的部署和永久清除作業。 |
jobs/ |
職務描述子與職務相依性。 |
agentflows/ |
代理程式描述區和代理程式相依性。 |
artifacts/ |
構件資料夾。複製的程式碼、記事本以及支援的檔案使用者自建物件。 |
發布路徑組態 (預覽)
您可以在組合清單檔案 aidp_workbench.yaml 中設定組合的發布路徑。
若要設定組合檔案的發布路徑,請在 aidp_workbench.yaml 資訊清單檔案中的 defaults 下新增發布區塊,如下列範例所示:
bundle:
name: customer_churn_bundle
description: Customer churn model workflow
resources:
jobs:
- train_churn_model
agentflows:
- explain_churn_predictions
defaults:
publish:
path: "/Workspace/Shared/customer_churn_bundle"
overwrite_publish_artifacts: false在此範例中,建置組合時,使用者自建物件會發佈在 /Workspace/Shared/customer_churn_bundle/artifacts 之下。
表格 34-1 發布路徑組態欄位
| 欄位 | 描述 |
|---|---|
path |
作為發布根目錄的工作區資料夾。使用者自建物件儲存在 <path>/artifacts 下。
|
overwrite_publish_artifacts |
指示部署是否可在設定的發布路徑取代現有已發布的使用者自建物件。 |
不同環境的發布路徑組態
您可以為不同的建置目標設定不同的發佈路徑,如以下範例所示:
bundle:
name: customer_churn_bundle
resources:
jobs:
- train_churn_model
defaults:
publish:
path: "/Workspace/Shared/customer_churn_bundle"
overwrite_publish_artifacts: false
targets:
prod:
- aidp_ocid: "ocid1.aidataplatform.oc1..example"
workspace_key: "workspace-prod"
publish:
path: "/Workspace/Production/customer_churn_bundle"
overwrite_publish_artifacts: true或者,您也可以使用 .aidp/overrides.yaml 在本機覆寫發佈路徑:
publish:
path: "/Workspace/Users/me/customer_churn_bundle"
overwrite_publish_artifacts: trueaidp_workbench.yaml中的defaults.publish.path- 比對目標發布路徑
.aidp/overrides.yaml發布路徑
組合使用者自建物件發布方式 (預覽)
當您部署組合時,Oracle AI Data Platform 會將組合人工因素從組合來源複製到解析的發布路徑。
預設的人工因素版面配置為 <publish.path>/artifacts。舉例而言:
/Workspace/Shared/customer_churn_bundle/artifacts組合描述區檔案可以使用 ${publish.path}/artifacts/... 參照已發布的使用者自建物件。舉例而言:
${publish.path}/artifacts/Notebooks/train_model.ipynb部署期間,會將 ${publish.path} 解析為設定的發布路徑。
搭售品部署至已發布路徑的方式 (預覽)
當組合具有設定的發布路徑時,部署會執行一組固定的動作。
部署具有已設定發布路徑的組合時,Oracle AI Data Platform 會依下列順序執行動作:
- 驗證發佈路徑。
- 將組合使用者自建物件發布至
<publish.path>/artifacts。 - 使用已發布的使用者自建物件路徑部署組合資源,例如工作和代理程式流程。
- 部署完成後更新部署狀態。
如果 AI 資料平台在發布路徑發生任何問題,可能會採取不同的動作:
- 如果發布路徑不存在, AI Data Platform 可以在部署期間建立該發布路徑。
- 如果發佈路徑存在而且是空的,則部署可以使用它。
- 如果發布路徑包含由相同組合管理的使用者自建物件,則部署可以更新它們。
- 如果發布路徑包含非組合擁有的資料,則除非啟用覆寫,否則部署可能會失敗。
同步搭售品 (預覽)
您可以同步組合來更新組合中的資源與相依性,並進行最新的變更。
同步會使用搭售品記錄的來源中繼資料,從建立搭售品時擷取的來源工作和代理程式流程重新建立搭售品。來源描述資料會儲存在 .aidp/resource_origins.yaml 中,而且必須符合要求的執行處理和工作區。此作業會重新整理來源控制的組合內容,同時保留組合識別和程式實際執行描述資料。
進行同步時,服務會在組合 .aidp 目錄下暫存重新整理過的組合快照、比較現有和暫存的描述區、保留現有的變數別名,並儘可能覆寫參照、合併現有的資訊清單預設變數,然後將重新整理過的來源控制檔案升級回組合根目錄。
Sync 會保留環境特定檔案和部署程式實際執行檔案,例如 .aidp/overrides.yaml 和 .aidp/aidp.state.json。這些檔案不會被重新整理的來源快照取代。
- 來源工作區中的隨附記事本、工作、代理程式流程、運算參照、參數或相依性已變更。
- 組合工作現在會指向其他記事本或已更新任務參數。
- 代理程式組態、提示參數、模型設定或 AI 運算相依性已變更。
- 您需要 Git 資料夾包含最新產生的搭售品檔案,才能推送至其他環境。
- 瀏覽至您要在工作區中同步處理的搭售品。
- 按一下動作。
- 按一下同步。同步完成後會通知您。
建議的搭售品促銷工作流程 (預覽)
建議您依照 Oracle AI Data Platform 中組合的開發、封裝、版本、提取、設定、部署及驗證工作流程進行操作。
| 階段 | 動作 | 結果 |
|---|---|---|
| 開發 | 在來源工作區中建立或更新記事本、工作、運算設定值或代理程式流程。 | 來源資源包含最新的預期行為。 |
| 套裝程式 | 建立搭售品,或在現有搭售品上執行 Sync。 | 產生的組合包檔案反映目前的來源資源和相依性。 |
| Version | 透過 Git 資料夾複查、確認及推送組合資料夾。 | 遠端儲存區域包含可建置的組合定義。 |
| 提取 | 在目標工作區中,提取 Git 資料夾變更。 | 目標工作區包含最新的組合檔案。 |
| 設定 | 設定目標特定值,例如工作區索引鍵、參數預設值、證明資料名稱、權杖索引鍵或程式實際執行設定值。 | 此組合已可供目標環境使用。 |
| 部署 | 開啟「建置」組合頁籤,然後按一下「建置」。 | 維護作業會建立或更新已部署的資源。 |
| 驗證 | 執行已部署的工作或測試已部署的代理程式流程,並檢查日誌或輸出。 | 系統會先驗證目標環境,然後再繼續升級。 |
搭售品變數 (預覽)
當組合需要可針對每個目標環境變更的部署階段值,而不需要編輯資源定義時,請使用組合變數。
若要開始使用含有組合的變數,您必須在組合的 aidp_workbench.yaml 檔案中定義含有預設值的變數名稱,並在需要時定義環境特定的覆寫。然後,您可以從產生的定義檔中參照這些變數。
範例變數工作流程
- 在
aidp_workbench.yaml的defaults > variables下定義變數名稱。 - 在相同的
aidp_workbench.yaml檔案中,選擇性地定義targets > <environment> > variables下的環境特定值。 - 使用目標覆寫來設定建置階段值,例如開發區域、QA 區域、生產區域、綱要名稱、證明資料名稱、記號索引鍵或參數預設值。
- 找不到相符的目標環境時,Oracle AI Data Platform 會使用 aidp_workbench.yaml 的預設變數值。
- 在任何產生的定義檔中使用變數,例如工作定義、計算定義、工作定義或其他 YAML 定義檔。
- 使用 ${var.<variable_name>>} 參照變數,將 <<variable_name>> 取代為在 aidp_workbench.yaml 中定義的實際變數名稱。
- 當 UI 預期有指定的預留位置時,在如代理程式提示或工具定義等位置使用資源特定的預留位置語法。
- 若為僅限暫時部署的變更,請建立 .aidp/overrides.yaml,並在該處定義變數值。
組合變數語法
變數定義必須以 aidp_workbench.yaml 撰寫。其他組合定義檔只能參照變數名稱。
| 定義 | 語法 | 範例 |
|---|---|---|
aidp_workbench.yaml 中的變數定義
|
|
|
aidp_workbench.yaml 中的目標特定覆寫 |
|
|
| 定義檔案中的變數參考 | ${var.<<variable_name>>} |
value: "${var.deployment_region}" |
| 代理程式提示或工具欄位中的指定預留位置 | {{variable_name}} |
Generate a summary about {{topic}}. |
範例:工作參數變數
bundle:
name: namedVariableJobDemo
resources:
jobs:
- namedVariableJobDemo
defaults:
variables:
job_param_value_default: "cloud data governance"
jobs:
namedVariableJobDemo:
tasks:
- taskKey: Task_956691
parameters:
- name: param_key
value: "${var.job_param_value_default}" 記事本工作可以透過工作使用的參數名稱讀取解析值:
param_value = odiUtils.parameters.getParameter("param_key", "fallback value")
print(param_value)範例:aidp_workbench.yaml 變數定義
aidp_workbench.yaml 中的變數 agent_topic_default。找不到相符的目標環境,或未選取環境或暫時置換提供變數時,會套用預設值。每個目標都可以覆寫該工作區的相同變數名稱。defaults:
variables:
agent_topic_default: "Oracle AI Data Platform"
targets:
dev:
- aidp_ocid: "ocid1.aidataplatformdev.oc1.iad.exampledev"
workspace_key: "6271b138-6f2c-4e8c-a9e5-013e17079955"
variables:
agent_topic_default: "AIDP Dev Workspace"
qa:
- aidp_ocid: "ocid1.aidataplatformdev.oc1.iad.exampleqa"
workspace_key: "daa0e9b5-f8d7-4ae8-b728-2984e68a74c0"
variables:
agent_topic_default: "AIDP QA Workspace"
prod:
- aidp_ocid: "ocid1.aidataplatform.oc1.iad.exampleprod"
workspace_key: "83be5b8c-bb8d-4ec4-a8fb-16b50b0e4d4c"
variables:
agent_topic_default: "AIDP Production Workspace" 任何支援組合變數的組合定義檔,都可以參照相同的變數名稱。舉例而言:
tasks/agentTopic.task.yaml
parameters:
- name: topic
value: "${var.agent_topic_default}"範例:檔案名稱與解析度
testNamedVarBundleJob/
aidp_workbench.yaml
jobs/
namedVariableJobDemo.job.json
artifacts/
namedVarNotebookDemo.ipynb| File | 包含的內容 | 變數或解析值 |
|---|---|---|
aidp_workbench.yaml |
定義預設值 > 變數和選擇性目標覆寫下的變數。 | 變數:job_param_value_default。
|
jobs/namedVariableJobDemo.job.json |
使用變數作為工作參數 param_key 的值。 | 參考資料:${var.job_param_value_default}。
|
artifacts/namedVarNotebookDemo.ipynb |
在執行時期讀取解析的工作參數。 | 筆記本在解析後會讀取 param_key。
|
aidp_workbench.yaml 中的預設值和目標覆寫:defaults:
variables:
job_param_value_default: "cloud data governance"
targets:
dev:
variables:
job_param_value_default: "space tourism"
qa:
variables:
job_param_value_default: "data quality validation"
prod:
variables:
job_param_value_default: "customer operations"工作定義接著可以在 job/namedVariableJobDemo.job.json 中使用相同的變數名稱。工作定義、計算定義、工作定義和其他支援組合變數產生的 YAML 定義檔案都可以使用相同的語法:
"parameters": [
{
"name": "param_key",
"value": "${var.job_param_value_default}"
}
]| 部署目標 | 變數解決方法 | 筆記本接收 |
|---|---|---|
| 沒有符合的目標 | 使用 aidp_workbench.yaml 的預設值。 | param_key = cloud data governance
|
| 裝置 | 使用 dev 目標覆寫。 | param_key = space tourism
|
| qa | 使用 qa 目標覆寫。 | param_key = data quality validation |
| 產品 | 使用產品目標修訂。 | param_key = customer operations |
解決順序
.aidp/overrides.yaml 提供變數值時, AI Data Platform 會使用該暫時值進行下一個部署。否則, AI 資料平台會先從選取的目標解析變數。如果找不到相符的目標環境,或選取的目標未覆寫變數,則 AI Data Platform 會回到 aidp_workbench.yaml 中的 defaults > variables。如果參照的變數沒有可用的值,則在使用記事本備用值之前,部署或工作執行可能會失敗。
下一個部署的暫時覆寫
aidp_workbench.yaml 中的定義足以進行一般搭售品促銷。如果使用者需要暫時覆寫變數,請在組合資料夾中建立 .aidp/overrides.yaml,並在該處定義變數值。AI 資料平台在下一個部署期間使用這些值。
.aidp/
overrides.yamlvariables:
agent_topic_default: "tuesday"| File | 範例值 | 使用時 |
|---|---|---|
aidp_workbench.yaml defaults
|
Oracle AI Data Platform | 當沒有相符的目標或覆寫檔案提供變數時使用。 |
aidp_workbench.yaml target dev |
AIDP 開發工作區 | 部署至開發且沒有暫時覆寫時使用。 |
.aidp/overrides.yaml |
tuesday | 在下一個部署期間用作暫時值。 |
附註:
使用.aidp/overrides.yaml 作為暫時部署值。將持久的預設值和環境特定值保留在 aidp_workbench.yaml 中,以便透過 Git 保持可重現組合。
範例:代理程式提示變數
對於支援具名預留位置的代理程式流程提示文字或工具定義,請在變數名稱前後使用雙大括號。
Prompt text:
You are a demo assistant. For the given {{topic}}, generate 3 short bullet points explaining why it matters.
Tool parameter:
Name: /{{topic}}
Default value: sunday 附註:
最佳做法是,您應該針對預期會在部署之間變更的值使用變數。當變數可改為帶有值時,避免將環境特定值直接內嵌至記事本、工作或代理程式流程文字中。範例:不含運算的工作流程
您可以為工作流程建立搭售品,該工作流程不會在部署過程中自動建立運算叢集。首先,在 aidp_workbench.yaml 中建立變數:
defaults:
variables:
job_compute_key: "select_compute"jobs/ 資料夾中,找到工作檔案 <JobName>.job.json。編輯工作檔案時,會以新建立的變數取代 "clusterKey" 值:"clusterKey" : "${var.job_compute_key}",環境中的具名變數 (預覽)
指定的環境變數可讓您的 Git 組合保持相同的邏輯變數名稱,而每個環境都提供自己的部署階段值。
當開發區域、QA 區域和生產環境應以不同的值部署相同的資源定義時,請使用此樣式。
具名變數工作流程範例
- 在
aidp_workbench.yaml的defaults > variables下定義一次變數。 - 在每個目標環境下覆寫相同的變數名稱。
- 使用其變數值符合目的地工作區的目標進行部署。
- 使用安全後援值的預設值,不適用於僅限生產環境的加密密碼或工作區特定的 ID。
範例:開發、QA 與產品置換
下列範例在三個目標間使用相同的變數名稱。工作仍會參考變數一次,而開發區域、QA 區域和生產環境則提供不同的部署階段值。
bundle:
name: environmentVariableDemoBundle
resources:
jobs:
- namedVariableJobDemo
defaults:
variables:
job_param_value_default: "cloud data governance"
deployment_region: "us-ashburn-1"
targets:
dev:
aidp_ocid: "ocid1.aidataplatformdev.oc1.iad.exampledev"
workspace_key: dev_workspace
variables:
job_param_value_default: "space tourism"
deployment_region: "us-ashburn-1"
qa:
aidp_ocid: "ocid1.aidataplatformdev.oc1.iad.exampleqa"
workspace_key: qa_workspace
variables:
job_param_value_default: "data quality validation"
deployment_region: "us-phoenix-1"
prod:
aidp_ocid: "ocid1.aidataplatformdev.oc1.iad.exampleprod"
workspace_key: prod_workspace
variables:
job_param_value_default: "customer operations"
deployment_region: "eu-frankfurt-1"| Target | deployment_region | 工作參數值預設 | 程式實際執行結果 |
|---|---|---|---|
| 裝置 | us-ashburn-1 | 太空旅遊 | 工作會以發展區域和參數值執行。 |
| qa | us-phoenix-1 | 資料品質驗證 | 工作會以 QA 區域和參數值執行。 |
| 產品 | eu-frankfurt-1 | 客戶作業 | 工作會以生產環境值執行。 |
附註:
如果找不到相符的目標環境,或目標未定義置換,「工作台」會在已設定的預設變數值存在時使用該值。如果沒有可用的覆寫或有效的預設值,部署或執行時期執行可能會根據使用遺漏變數的位置而失敗。組合變數與證明資料存放區 (預覽)
當組合工作或記事本需要在程式實際執行時查詢加密密碼時,您可以將變數與證明資料存放區搭配使用。
您的變數應該要有證明資料名稱和權杖金鑰。實際的加密密碼值必須留在目標證明資料存放區中,而且不應該確認至 Git。
範例工作流程:使用變數搭配證明資料存放區
- 在證明資料存放區中建立證明資料和權杖金鑰。
- 定義證明資料名稱和權杖索引鍵的變數。
- 將這些變數當作參數傳送至工作或記事本。
- 在程式實際執行時,記事本會讀取參數並呼叫證明資料 API 以擷取加密密碼。如果證明資料名稱、記號索引鍵或權限錯誤,工作可能會因證明資料查詢錯誤而失敗。
附註:
請勿記錄或確認組合檔案中的加密密碼值。組合組態應該參照證明資料名稱、記號索引鍵以及目標變數;證明資料存放區仍是加密密碼資料的來源。範例:證明資料名稱和記號索引鍵變數
bundle:
name: credentialVariableDemoBundle
resources:
jobs:
- credentialLookupJob
defaults:
variables:
cred_key: default_credential_name
token_key: default_token_key
targets:
dev:
workspace_key: dev_workspace
variables:
cred_key: dev_credential_store_entry
token_key: dev_token
qa:
workspace_key: qa_workspace
variables:
cred_key: qa_credential_store_entry
token_key: qa_token
prod:
workspace_key: prod_workspace
variables:
cred_key: prod_credential_store_entry
token_key: prod_token
jobs:
credentialLookupJob:
tasks:
- taskKey: Task_854239
parameters:
- name: cred_key
value: "${var.cred_key}"
- name: token_key
value: "${var.token_key}" 記事本會讀取參數值,並使用它們從證明資料存放區查詢加密密碼:
cred_name = odiUtils.parameters.getParameter("cred_key", "defaultCredValue")
token_name = odiUtils.parameters.getParameter("token_key", "defaultTokenValue")
secret = aidpUtils.secrets.get(name=cred_name, key=token_name)
if secret:
print("Credential lookup succeeded")
else:
raise Exception("Credential lookup failed")| 環境 | cred_key 值 | token_key 值 | 證明資料存放區需求 |
|---|---|---|---|
| 裝置 | 裝置證明資料存放區項目 | 裝置記號 | 使用金鑰 dev_token 建立 dev_credential_store_entry。 |
| qa | 中文 _ English | 繁體中文 | 使用金鑰 qa_token 建立 qa_credential_store_entry。 |
| 產品 | 產品證明資料存放區項目 | 產品權杖 | 使用金鑰 prod_token 建立 prod_credential_store_entry。 |
清除搭售品 (預覽)
您可以永久清除已部署的組合,以從您的工作區移除組合資源。
- 瀏覽至您要清除工作區中資源的組合。
- 按一下部署頁籤。
- 按一下永久清除。
- 在提示中輸入清除。按一下永久清除。
附註:
整個清除組合會先移除已部署的資源。如果組合使用發布路徑 Oracle AI Data Platform ,則會在發布路徑下移除受管理的人工因素資料夾。發佈路徑下的其他檔案會被保留。已發布構件的清除行為 (預覽)
永久清除已部署的組合時,Oracle AI Data Platform 會先移除已部署的資源。
移除資源之後, AI 資料平台只會移除受管理的人工因素資料夾:<publish.path>/artifacts。
發佈路徑下的其他檔案或資料夾會被保留。例如,如果發佈路徑為 /Workspace/Shared/customer_churn_bundle,清除會移除 /Workspace/Shared/customer_churn_bundle/artifacts,但會保留 /Workspace/Shared/customer_churn_bundle 下的其他檔案或資料夾。
如果因為權限或路徑存取而無法完成使用者自建物件清除,資源刪除仍然可以完成。
現有組合與發布路徑 (預覽)
現有沒有發布區塊的搭售品在同步或手動更新之前,會繼續使用先前的使用者自建物件行為。
如果您手動將發布區塊新增至現有組合,則部署會使用設定的發布路徑。不過,部署期間不會自動變更現有的描述元檔案。如果現有的描述區仍然參照先前的使用者自建物件位置,這些資源可能會繼續使用先前的位置。
若要讓現有資源使用發布路徑,請先更新描述區參照或同步組合,再手動新增自訂發布區塊。舉例而言:
Old:
${bundle.root}/.aidp/artifacts/Shared/task1.py
New:
${publish.path}/artifacts/Shared/task1.py當同步為已有發布區塊的組合新增或重新整理的描述區內容時,新的描述區參照會使用發布路徑格式。
疑難排解搭售品 (預覽)
如果您在建立和管理 Git 組合時發生問題,請查看下列潛在解決方案問題清單。
| 徵兆 | 可能的原因 | 建議的動作 |
|---|---|---|
| 「建立搭售品」無法使用,或無法建立搭售品。 | 使用者不在 Git 資料夾中,或沒有必要的工作區權限。 | 瀏覽至 Git 資料夾並確認使用者可以建立工作區資源。 |
| 同步完成,但另一個環境看不到更新。 | 重新整理的組合檔案未確認、推送或提取至目標 Git 資料夾中。 | 確認並從來源 Git 資料夾推送,然後在部署之前提取目標工作區。 |
| 「部署」頁籤未顯示任何已部署的項目。 | 尚未部署搭售品,或部署未順利完成。 | 按一下「部署」並等待完成通知。如果部署失敗,請複查日誌。 |
| 部署的工作因證明資料查尋錯誤而失敗。 | 目標證明資料名稱、記號索引鍵或存取權限與組合組態不符。 | 重新部署之前,請先在目標證明資料存放區中建立證明資料或更新目標變數。 |
| 代理程式流程部署失敗或以非作用中運算開始。 | 目標環境可能沒有相容的 AI 運算、區域、模型或相依性設定值。 | 複查目標覆寫、運算狀態、模型可用性及部署日誌。 |
| 部署後不會反映來源記事本或代理程式流程的變更。 | 已部署搭售品,但未先從更新的來源資源進行同步。 | 在搭售品上執行 Sync、確認並發送重新整理過的搭售品檔案、將它們提取到目標中,然後再次部署。 |