对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Docs 菜单

部署构建版本

在本指南中,您可以学习;了解如何通过CLI将代理构建部署到生产环境。在部署之前,请确保构建代理映像。

使用以下命令管理部署:

使用以下语法部署代理构建:

agentengine deploy [--auto] [--build-id <id>] [--version <version>] [--workspace-id <id>] [--project-id <id>] [--org-id <id>] [--base-url <url>] [--context <name>] [--no-wait] [--timeout <duration>] [--workspace <name>] [--all] [--json] [--yes]

此命令将启动上次成功构建的部署,或者启动特定构建的部署(如果您提供了构建ID)。该命令每 5 秒轮询部署状态,直到部署处于 succeeded、failed 或 rolled_back 状态,或者达到超时值。

重要

文件系统访问

部署代理后,请确保仅在 /tmp 或 /scratch 目录下写入本地文件。请勿使用其他路径,例如 /var 或主目录,因为它们在运行时环境中可能不可写入。

部署构建时,可以使用以下可选标志:

标记
说明

--auto

构建代理并监控构建触发的部署。此标志仅适用于单代理项目。使用此标志可一步完成构建和部署,而不是单独运行这两个命令。

--build-id

要部署的构建ID 。默认下,该命令会部署工作区上次成功的构建。该标志与 --version 互斥。

--version

部署此声明的 agent.yaml 版本的发布构建。该标志与 --build-id 互斥。

--workspace-id

平台工作区ID。默认下, CLI从 .agentengine/state.json文件中读取此值。

--project-id

平台项目ID。默认下, CLI从 .agentengine/state.json文件中读取此值。

--org-id

组织ID。默认下, CLI从本地存储的身份验证状态中读取此值。

--base-url

平台API基本URL。

--context

.agentengine/state.json文件中的命名本地上下文。

--no-wait

指示CLI在开始部署后立即返回,而不轮询状态。

--timeout

等待部署完成的最长时间。默认下,部署会在 30 分钟后超时。

--workspace

(仅限 Monorepo)按名称部署特定工作区,如根 agent.yaml 中所定义。该标志与 --all 互斥。

--all

(仅限 Monorepo)按顺序部署所有工作区。该标志与 --workspace 互斥。

--json

以JSON输出部署结果。

--yes

当部署命令运行Atlas设置时,接受计费的 Flex 默认值和Atlas IP访问列表更改。

要查看工作区的部署历史记录,运行以下命令:

agentengine deploy list [--workspace <name>] [--workspace-id <id>] [--project-id <id>] [--org-id <id>] [--base-url <url>] [--context <name>] [--status <status>] [--limit <n>] [--offset <n>] [--json]

此命令显示当前工作区的所有部署,包括部署ID、状态、执行程序、构建ID、映像、创建时间、版本和错误消息。

标记
说明

--workspace

(仅限 Monorepo)按名称选择特定工作区,如根 agent.yaml 中所定义。

--workspace-id

平台工作区ID。默认下, CLI从 .agentengine/state.json文件中读取此值。

--project-id

平台项目ID。默认下, CLI从 .agentengine/state.json文件中读取此值。

--org-id

组织ID。默认下, CLI从本地存储的身份验证状态中读取此值。

--base-url

平台API基本URL。

--context

.agentengine/state.json文件中的命名本地上下文。

--status

按部署状态筛选结果,示例succeeded、failed 或 in_progress。

--limit

要返回的最大部署数。

--offset

要跳过的部署数量。

--json

以JSON输出部署列表。

要查看部署的详细状态,运行以下命令:

agentengine deploy get [<deployment_id>] [-f] [--workspace <name>] [--workspace-id <id>] [--project-id <id>] [--org-id <id>] [--base-url <url>] [--context <name>] [--json]

默认下,此命令返回最近部署的时间点快照。提供部署ID以检查特定部署。输出包括部署状态、构建ID、版本、映像、条件、组件就绪情况和实时运行状况信息。

标记
说明

-f, --follow

使用服务器发送事件 (SSE)实时流式传输部署事件,直到部署达到最终状态。如果部署已处于最终状态,则该命令会报告没有可流的内容。

--workspace

(仅限 Monorepo)按名称选择特定工作区。

--workspace-id

平台工作区ID。默认下, CLI从 .agentengine/state.json文件中读取此值。

--project-id

平台项目ID。默认下, CLI从 .agentengine/state.json文件中读取此值。

--org-id

组织ID。默认下, CLI从本地存储的身份验证状态中读取此值。

--base-url

平台API基本URL。

--context

.agentengine/state.json文件中的命名本地上下文。

--json

以JSON输出部署状态。

要查看部署的结构化事件日志,运行以下命令:

agentengine deploy logs [<deployment_id>] [-f] [--severity <level>] [--category <category>] [--limit <n>] [--workspace <name>] [--workspace-id <id>] [--project-id <id>] [--org-id <id>] [--base-url <url>] [--context <name>] [--json]

此命令检索指定部署的事件日志,显示从创建到完成的每个状态转换。如果不提供部署ID ,该命令将显示最近部署的事件日志。您可以使用事件日志来跟踪部署行为、调查故障并验证是否发生了预期的生命周期转换。

当部署不成功时,失败组件的事件包括退出代码和简要失败原因。

注意

--json 标志不能与 --follow、--severity 或 --category 标志结合使用。

标记
说明

-f, --follow

轮询新事件,直到部署达到最终状态。

--severity

按严重性级别筛选事件:info、success、warn 或 error。

--category

按类别筛选事件,示例agent_rollout 或 tool_rollout。

--limit

每页返回的最大事件数。默认为 100。

--workspace

(仅限 Monorepo)按名称选择特定工作区。

--workspace-id

平台工作区ID。默认下, CLI从 .agentengine/state.json文件中读取此值。

--project-id

平台项目ID。默认下, CLI从 .agentengine/state.json文件中读取此值。

--org-id

组织ID。默认下, CLI从本地存储的身份验证状态中读取此值。

--base-url

平台API基本URL。

--context

.agentengine/state.json文件中的命名本地上下文。

--json

以JSON输出事件日志。

要取消正在进行的部署,请使用以下命令:

agentengine deploy cancel <deployment_id> [--workspace <name>] [--workspace-id <id>] [--project-id <id>] [--org-id <id>] [--base-url <url>] [--context <name>]

如果部署已处于 succeeded、failed 或 rolled_back 状态,则此命令会返回错误。

标记
说明

--workspace

(仅限 Monorepo)按名称选择特定工作区,如根 agent.yaml文件中所定义。

--workspace-id

平台工作区ID。默认下, CLI从 .agentengine/state.json文件中读取此值。

--project-id

平台项目ID。默认下, CLI从 .agentengine/state.json文件中读取此值。

--org-id

组织ID。默认下, CLI从本地存储的身份验证状态中读取此值。

--base-url

平台API基本URL。

--context

.agentengine/state.json文件中的命名本地上下文。

平台对每个项目实施以下构建限制:

Limit
值

并发活动构建

10

滚动 24 小时内的每日构建

100

如果超出构建限制,请求将返回 400 Bad Request 错误和 RESOURCE_LIMIT_EXCEEDED 消息。

要查看公开预览版期间应用的所有限制,请参阅MongoDB Atlas助手引擎限制。

以下示例展示了如何部署上次成功的构建,检查该部署的状态,然后取消部署。

1

运行以下命令以部署上一次成功的构建,并立即返回而不轮询状态:

agentengine deploy --no-wait

如果部署成功启动,输出将类似于以下内容:

Deploying last successful build...
✓ Deployment started (deployment_id: deploy-9fb9e685)
2

运行以下命令,使用上一步中的部署ID检查部署状态:

agentengine deploy get deploy-9fb9e685

输出类似于以下内容:

Deployment: deploy-9fb9e685
Status: in_progress (started 45s ago)
Trigger: build
Build: bld_01...
Version: v0.1.0 (r1)
Conditions:
Available False NotAvailable — One or more components are not available.
Components:
Orchestration Engine 0/1 not ready
Agent Sandbox 1/1 ready
Tool Sandbox 1/1 ready
Health: unavailable
3

最后,运行以下命令取消部署:

agentengine deploy cancel deploy-9fb9e685

部署代理后,您可以监控其性能和活动。要学习;了解如何监控代理,请参阅监控指南。

要学习;了解在Atlas助手引擎上运行代理的最低要求,请参阅MongoDB Atlas助手引擎文档的助手合同部分。