---
id: daily-google-agents-cli-publish
name: "google-agents-cli-publish"
url: https://skills.yangsir.net/skill/daily-google-agents-cli-publish
author: google
domain: ai-skill-platform-ecosystem
tags: ["ai-agents", "publishing", "automation", "cli"]
install_count: 8600
rating: 4.50 (9 reviews)
github: https://github.com/google/agents-cli
---

# google-agents-cli-publish

> 注册并发布 Gemini Agent 到企业市场，自动生成 Agent 卡片、配置访问权限和管理版本

**Stats**: 8,600 installs · 4.5/5 (9 reviews)

## Before / After 对比

### 发布流程

**Before**:

手动填写企业注册表单、准备 Agent 文档、配置访问控制，一次发布需要半天时间，经常因格式问题被驳回

**After**:

CLI 自动从部署元数据提取信息，生成符合规范的 Agent 卡片和文档，30 分钟完成发布流程

| Metric | Before | After | Change |
|---|---|---|---|
| 发布时间 | 240分钟 | 30分钟 | -88% |

## Readme

# google-agents-cli-publish

# Gemini Enterprise Registration

**Requires:** A deployed agent. For Agent Runtime, `deployment_metadata.json` (created by `agents-cli deploy`) enables auto-detection. For Cloud Run or GKE, provide the agent card URL and flags directly.

## Prerequisites

- **Agent must be deployed** — the agent must be running and reachable

- **Gemini Enterprise app must exist** — Create one in Google Cloud Console → Gemini Enterprise → Apps before registering

- **`deployment_metadata.json`** (Agent Runtime only) — Created automatically by `agents-cli deploy`; contains the agent runtime ID, deployment target, and A2A flag

## Required Permissions for A2A on Cloud Run

- **`roles/run.servicesInvoker`** granted to the Discovery Engine service account (`service-<PROJECT_NUMBER>@gcp-sa-discoveryengine.iam.gserviceaccount.com`) on the Cloud Run service.

## Registration Modes

### ADK Registration (default)

For standard ADK agents deployed to Agent Runtime. The agent is registered directly via its reasoning engine resource name.

```
agents-cli publish gemini-enterprise \
  --agent-runtime-id projects/123456/locations/us-east1/reasoningEngines/789 \
  --gemini-enterprise-app-id projects/123456/locations/global/collections/default_collection/engines/my-app \
  --display-name "My Agent" \
  --description "Handles customer queries" \
  --tool-description "Answers questions about products"

```

### A2A Registration

For agents using the Agent-to-Agent protocol. Requires an agent card URL — the command fetches the card and registers it.

```
# A2A on Cloud Run
agents-cli publish gemini-enterprise \
  --registration-type a2a \
  --agent-card-url https://my-service-abc123.us-east1.run.app/a2a/app/.well-known/agent-card.json \
  --gemini-enterprise-app-id projects/123456/locations/global/collections/default_collection/engines/my-app \
  --display-name "My A2A Agent"

# A2A on Agent Runtime (card URL is auto-constructed from metadata)
agents-cli publish gemini-enterprise \
  --registration-type a2a \
  --gemini-enterprise-app-id projects/123456/locations/global/collections/default_collection/engines/my-app

```

## Programmatic Mode (CI/CD)

The command is non-interactive by default — pass all required values via flags or environment variables. This makes it safe for CI/CD pipelines.

### Via flags

```
agents-cli publish gemini-enterprise \
  --agent-runtime-id "$AGENT_RUNTIME_ID" \
  --gemini-enterprise-app-id "$GEMINI_ENTERPRISE_APP_ID" \
  --display-name "Production Agent" \
  --registration-type adk

```

### Via environment variables

Every flag has an env var alternative:

```
export AGENT_RUNTIME_ID="projects/123456/locations/us-east1/reasoningEngines/789"
export GEMINI_ENTERPRISE_APP_ID="projects/123456/locations/global/collections/default_collection/engines/my-app"
export GEMINI_DISPLAY_NAME="Production Agent"
export GEMINI_DESCRIPTION="Handles customer queries"

agents-cli publish gemini-enterprise

```

## Interactive Mode (`--interactive`)

Pass `--interactive` (or `-i`) to be guided through any missing values with interactive prompts. The command will list available Gemini Enterprise apps, offer to auto-detect the agent runtime ID from metadata, and prompt for display name and description.

```
agents-cli publish gemini-enterprise --interactive

```

## Complete Flag Reference

Flag
Env Var
Description

`--agent-runtime-id`
`AGENT_RUNTIME_ID`
Agent Runtime resource name (auto-detected from `deployment_metadata.json`)

`--gemini-enterprise-app-id`
`ID` or `GEMINI_ENTERPRISE_APP_ID`
Gemini Enterprise app full resource name

`--display-name`
`GEMINI_DISPLAY_NAME`
Display name in Gemini Enterprise

`--description`
`GEMINI_DESCRIPTION`
Agent description

`--tool-description`
`GEMINI_TOOL_DESCRIPTION`
Tool description (ADK mode only, defaults to description)

`--registration-type`
`REGISTRATION_TYPE`
`adk` or `a2a` (auto-detected from metadata if not set)

`--agent-card-url`
`AGENT_CARD_URL`
Agent card URL for A2A registration

`--deployment-target`
`DEPLOYMENT_TARGET`
`agent_runtime`, `cloud_run`, or `gke` (affects A2A auth method)

`--project-id`
`GOOGLE_CLOUD_PROJECT`
GCP project ID for billing

`--project-number`
`PROJECT_NUMBER`
GCP project number (used for Gemini Enterprise lookup)

`--authorization-id`
`GEMINI_AUTHORIZATION_ID`
OAuth authorization resource name

`--metadata-file`
—
Path to deployment metadata (default: `deployment_metadata.json`)

`--interactive` / `-i`
—
Enable interactive prompts

## Auto-Detection from Metadata

When `deployment_metadata.json` exists, the command automatically:

- Reads the **agent runtime ID** (`remote_agent_runtime_id`)

- Detects the **registration type** (`is_a2a` flag)

- Constructs the **agent card URL** for A2A agents on Agent Runtime

- Determines the **deployment target** for authentication

This means that for the simplest case (ADK agent on Agent Runtime), you only need to provide the Gemini Enterprise app ID:

```
agents-cli publish gemini-enterprise \
  --gemini-enterprise-app-id projects/123456/locations/global/collections/default_collection/engines/my-app

```

## SDK Compatibility

Agent Runtime deployments may encounter "Session not found" errors with `google-cloud-aiplatform` versions <= 1.128.0. In interactive mode (`--interactive`), the command checks the SDK version from `uv.lock` and offers to upgrade. In programmatic mode, ensure your SDK is up to date before registering.

## Troubleshooting

Issue
Solution

"Session not found" after registration
SDK version issue — upgrade `google-cloud-aiplatform` (see SDK Compatibility above), redeploy, then re-register

`--registration-type is required`
Non-interactive mode needs `--registration-type` when no `deployment_metadata.json` exists

"Gemini Enterprise App ID is required"
Provide `--gemini-enterprise-app-id` or set the `ID` / `GEMINI_ENTERPRISE_APP_ID` env var

"Agent already registered"
The command automatically updates the existing registration — this is not an error

HTTP 403 on registration
Check that your account has Discovery Engine Editor permissions on the Gemini Enterprise project

"Could not fetch agent card"
Verify the agent is running and the URL is correct; for Cloud Run, ensure `gcloud auth login` is done

## Related Skills

- `/google-agents-cli-deploy` — Deployment targets, CI/CD pipelines, and production workflows

- `/google-agents-cli-workflow` — Development workflow, coding guidelines, and operational rules

- `/google-agents-cli-scaffold` — Project creation and enhancement with `agents-cli scaffold create` / `scaffold enhance`

Weekly Installs879Repository[google/agents-cli](https://github.com/google/agents-cli)GitHub Stars694First SeenTodaySecurity Audits[Gen Agent Trust HubPass](/google/agents-cli/google-agents-cli-publish/security/agent-trust-hub)[SocketPass](/google/agents-cli/google-agents-cli-publish/security/socket)[SnykWarn](/google/agents-cli/google-agents-cli-publish/security/snyk)

---
*Source: https://skills.yangsir.net/skill/daily-google-agents-cli-publish*
*Markdown mirror: https://skills.yangsir.net/api/skill/daily-google-agents-cli-publish/markdown*