使用“uip solution”工具构建、发布和部署 UiPath 解决方案,从框架和打包到 Orchestrator 激活。
uip solution用于构建、发布和部署解决方案— UiPath 项目(RPA 工作流、测试用例、库、智能体、Maestro 流程和应用程序)捆绑包作为单个工件进行交付和版本控制。解决方案由解决方案目录根目录下的.uipx清单文件定义;该清单中列出的每个项目都将一起打包、发布和部署。
您使用此工具的大部分时间都花费在三个步骤上:搭建或本地编辑解决方案( init 、 projects ),将其打包到.zip ( pack )中,然后将打包版本部署到 Orchestrator( publish + deploy run )。请参阅您的第一个管道,了解端到端演练。
动词分类
| 动词系列 | 运算对象 | 用途 |
|---|---|---|
init | 本地文件系统 | 新建一个空的.uipx解决方案目录。 |
projects | 本地 .uipx/云 | 添加、导入、列出、移除、发布或重新同步在解决方案清单中注册的项目。 |
resources | 本地解决方案 | 列出、获取、添加、移除、编辑和刷新解决方案中的资源声明(队列、资产、存储桶、流程、连接等)。 |
pack | 本地解决方案 | 从解决方案目录或 .zip 文件生成可部署的 .uis 包。同时通过 --dry-run 进行验证、为包签名,并为来源可追溯性元数据盖章。 |
publish | 租户订阅源/个人工作区/文件夹订阅源 | 将打包的 .zip 上传到 UiPath 解决方案订阅源。 |
upload | Studio Web | 上传解决方案,以便在 Studio Web 中进行基于浏览器的编辑。 |
download | Studio Web | 按 ID 下载并选择性地提取 Studio Web 解决方案。 |
list (Preview) | Studio Web/本地文件系统 | 列出您的 Studio Web 解决方案,或扫描目录以获取本地解决方案。 |
delete | Studio Web | 按 ID 删除 Studio Web 解决方案(需要 -y, --yes)。 |
cleanup | 本地文件系统 | 从解决方案的每个项目中删除未使用的项目。 |
restore | 本地文件系统 | 解决解决方案中每个项目的 NuGet 依赖项。 |
feeds | 租户/个人工作区/文件夹 | 列出您可以发布或部署到的订阅源(发布位置)。 |
packages | 租户订阅源/个人工作区/文件夹订阅源 | 列出、下载和删除已发布的解决方案包(删除需要 -y, --yes)。 |
deploy | Orchestrator | 安装新部署 (run)、将现有部署移动到新的包版本 (upgrade)、检查状态、激活、卸载(需要 -y, --yes)以及编辑部署配置文件。 |
uip solution由@uipath/solution-tool插件提供。如果尚未安装, uip tools install solution会进行添加。请参阅工具(插件) 。
projects 以前记录为 project(单数)。单数形式仍然有效 — 它会继续注册为向后兼容的隐藏、已弃用的别名 — 但 projects 从现在开始是规范的。
大纲
uip solution init <solutionName>
uip solution projects add <projectPath> [--solution-folder <path>]
uip solution projects import --source <path> [--solution-folder <path>]
uip solution projects remove <projectPath> [--solution-folder <path>]
uip solution projects list [--solution-folder <path>]
uip solution projects publish --project-name <name> --package-name <name> --package-version <version> [--folder-name <name>]
uip solution projects resync [project-name] [--sync-option <Sync|Reset>]
uip solution resources list [--solution-folder <path>] [--kind <kind>] [--search <term>] [--source <all|local|remote>]
uip solution resources get <resource-key> [--solution-folder <path>]
uip solution resources add --source <local|remote> --kind <kind> --name <name>
uip solution resources remove <resource-key>
uip solution resources edit <resource-key> --patch <json>
uip solution resources refresh [--solution-folder <path>]
uip solution pack <solutionPath> [outputPath] [--name <name>] [--version <version>] [--dry-run]
uip solution publish <packagePath> [--feed <name-or-key> | --personal-workspace] [--wait]
uip solution upload <solutionPath>
uip solution download <solution-id> [-d <destination>] [--extract]
uip solution list [--local [directory]] [--check-cloud]
uip solution delete <solution-id> -y
uip solution cleanup <solutionPath> [--dry-run]
uip solution restore <solutionPath>
uip solution feeds list
uip solution packages list [--personal-workspace | --feed <name-or-key>] [--limit <n>] [--offset <n>]
uip solution packages download <packageName> [packageVersion] [-d <path>]
uip solution packages delete <packageName> <packageVersion> --yes [--personal-workspace | --feed <name-or-key>]
uip solution deploy run --name <n> --package-name <n> --package-version <v> --folder-name <n> [--parent-folder-path <path> | --personal-workspace] [--feed <name-or-key>] [-y]
uip solution deploy upgrade <deployment-key> [--version <v>] [--no-wait]
uip solution deploy status <pipeline-deployment-id>
uip solution deploy activate <deployment-name>
uip solution deploy list [--folder-path <path>] [--operation-status <s>] [--activation-status <s>]
uip solution deploy uninstall <deployment-name> -y
uip solution deploy config get <package-name> [--package-version <v>] [-d <path>] [--format json|yaml]
uip solution deploy config set <file> [--all] <args...>
uip solution deploy config link <file> <resource> --name <n> [--folder-path <path>]
uip solution deploy config unlink <file> <resource>
uip solution init <solutionName>
uip solution projects add <projectPath> [--solution-folder <path>]
uip solution projects import --source <path> [--solution-folder <path>]
uip solution projects remove <projectPath> [--solution-folder <path>]
uip solution projects list [--solution-folder <path>]
uip solution projects publish --project-name <name> --package-name <name> --package-version <version> [--folder-name <name>]
uip solution projects resync [project-name] [--sync-option <Sync|Reset>]
uip solution resources list [--solution-folder <path>] [--kind <kind>] [--search <term>] [--source <all|local|remote>]
uip solution resources get <resource-key> [--solution-folder <path>]
uip solution resources add --source <local|remote> --kind <kind> --name <name>
uip solution resources remove <resource-key>
uip solution resources edit <resource-key> --patch <json>
uip solution resources refresh [--solution-folder <path>]
uip solution pack <solutionPath> [outputPath] [--name <name>] [--version <version>] [--dry-run]
uip solution publish <packagePath> [--feed <name-or-key> | --personal-workspace] [--wait]
uip solution upload <solutionPath>
uip solution download <solution-id> [-d <destination>] [--extract]
uip solution list [--local [directory]] [--check-cloud]
uip solution delete <solution-id> -y
uip solution cleanup <solutionPath> [--dry-run]
uip solution restore <solutionPath>
uip solution feeds list
uip solution packages list [--personal-workspace | --feed <name-or-key>] [--limit <n>] [--offset <n>]
uip solution packages download <packageName> [packageVersion] [-d <path>]
uip solution packages delete <packageName> <packageVersion> --yes [--personal-workspace | --feed <name-or-key>]
uip solution deploy run --name <n> --package-name <n> --package-version <v> --folder-name <n> [--parent-folder-path <path> | --personal-workspace] [--feed <name-or-key>] [-y]
uip solution deploy upgrade <deployment-key> [--version <v>] [--no-wait]
uip solution deploy status <pipeline-deployment-id>
uip solution deploy activate <deployment-name>
uip solution deploy list [--folder-path <path>] [--operation-status <s>] [--activation-status <s>]
uip solution deploy uninstall <deployment-name> -y
uip solution deploy config get <package-name> [--package-version <v>] [-d <path>] [--format json|yaml]
uip solution deploy config set <file> [--all] <args...>
uip solution deploy config link <file> <resource> --name <n> [--folder-path <path>]
uip solution deploy config unlink <file> <resource>
每个子命令都遵循全局选项( --output 、 --output-filter 、 --log-level 、 --log-file ),并返回标准退出代码。默认输出为JSON 。deploy run 从不更新现有部署 — 它会创建一个新部署,或者如果已部署 --name,则系统会拒绝部署,除非通过 -y, --yes(安装第二个独立副本);要将现有部署移动到新的包版本,请使用 deploy upgrade。上面的 pack/publish/packages/deploy 提要行已省略 — 有关完整的已验证标志列表,请参见每个命令各自的页面。
端到端流程
┌──────────┐ ┌────────────┐ ┌──────────┐ ┌──────────────┐ ┌──────────────────┐
│ solution │ │ solution │ │ solution │ │ solution │ │ solution deploy │
│ init │ → │ projects │ → │ pack │ → │ publish │ → │ run │
│ │ │ add/import │ │ │ │ (tenant feed)│ │ (Orchestrator) │
└──────────┘ └────────────┘ └──────────┘ └──────────────┘ └──────────────────┘
┌──────────┐ ┌────────────┐ ┌──────────┐ ┌──────────────┐ ┌──────────────────┐
│ solution │ │ solution │ │ solution │ │ solution │ │ solution deploy │
│ init │ → │ projects │ → │ pack │ → │ publish │ → │ run │
│ │ │ add/import │ │ │ │ (tenant feed)│ │ (Orchestrator) │
└──────────┘ └────────────┘ └──────────┘ └──────────────┘ └──────────────────┘
- 框架。
uip solution init my-solution将创建一个包含空.uipx清单文件(以及AGENTS.md/CLAUDE.md简报文件)的目录。 - 填充。
uip solution projects add ./my-solution/my-project注册项目子文件夹,或uip solution projects import --source ./external在其中复制外部项目。 - 包。
uip solution pack ./my-solution ./dist --version 1.0.0生成./dist/my-solution_1.0.0.zip。 - 发布。
uip solution publish ./dist/my-solution_1.0.0.zip将.zip上传到解决方案订阅源。 - 部署。
uip solution deploy run --name my-deployment --package-name my-solution --package-version 1.0.0 --folder-name MySolution --parent-folder-path Shared将创建 Orchestrator 文件夹,配置资源(队列、资产、流程),并激活解决方案。
对于交互式创作,请用uip solution upload ./my-solution替换步骤 3,以在UiPath Studio Web中打开解决方案,而不是将其打包以进行部署。
身份验证和订阅源模型
与 Orchestrator 或解决方案订阅源交互的命令 — publish、upload、download、list(云模式)、delete、packages *、feeds list、resources list/add/refresh(远程路径),以及每个 deploy … 子命令 — 需要活动会话。运行 uip login 一次。请参阅身份验证。
其中几个命令还接受 --personal-workspace 或 --feed <name-or-key>,以针对特定的解决方案订阅源,而不是默认租户订阅源。使用 uip solution feeds list 查找订阅源的名称或密钥。
本地命令(init、projects add/import/remove/list、pack、cleanup、restore、resources get/remove/edit、list --local)对磁盘上的文件离线运行。
另请参阅
uip solution feeds— 列出publish --feed的订阅源。uip solution list、uip solution download— 查找和检索 Studio Web 解决方案。uip solution cleanup、uip solution restore— 打包前的本地项目维护。- 您的第一个管道— 动手演示包 → 发布 → 部署运行。
- 工具(插件) — 解决方案工具的分发方式和版本控制方式。
- 身份验证和配置— 会话设置和每个租户的默认值
- 全局选项和退出代码— 由每个动词共享的合同。
uip or— Orchestrator 资源 CRUD(资产、存储桶、队列、库、触发器、Webhook),以及作业、流程和文件夹。