UiPath Documentation
uipath-cli
latest
false
重要 :
请注意,此内容已使用机器翻译进行了本地化。 新发布内容的本地化可能需要 1-2 周的时间才能完成。

UiPath CLI 用户指南

您的第一个管道

本页介绍了如何在磁盘上获取 UiPath 解决方案并将其端到端发送到 Orchestrator:在本地打包,将其发布到租户的解决方案订阅源,并将其部署到文件夹中。它使用solution工具,该工具在开发者笔记本电脑和 CI 管道中的工作原理相同。

您需要什么

  • 已安装 UiPath CLI 并且会话已登录。请参阅安装 UiPath CLI身份验证
  • 磁盘上的 UiPath解决方案uip solution pack接受以下两种形状中的任何一种(与 CLI 自己的solution pack --help匹配):
    • 包含.uipx解决方案描述符(常见情况 — Studio 写入的内容和uip solution new创建的内容)的解决方案目录,或
    • 独立的.uis文件(预捆绑的解决方案工件)。
  • 要在其中部署解决方案的 Orchestrator 文件夹路径(例如Shared/MySolutionFolder )。

流程

三个命令,每个命令是单独的步骤,因此您可以在 CI 管道中独立运行它们:

  1. uip solution pack — 从解决方案目录生成有版本控制的.zip包。
  2. uip solution publish — 将.zip上传到租户的解决方案订阅源。
  3. uip solution deploy run — 创建一个文件夹,并将已发布的包部署到 Orchestrator 中。

步骤 1. 打包解决方案

uip solution pack ./my-solution ./dist \
  --name my-solution \
  --version 1.0.0
uip solution pack ./my-solution ./dist \
  --name my-solution \
  --version 1.0.0

参数:

  • 第一个位置参数是解决方案目录(或.uis文件)。
  • 第二个是输出目录。如果缺少,则使用uip进行创建。

标记:

  • --name将覆盖包名称(默认值:解决方案目录名称)。
  • --version设置包版本(默认值: 1.0.0 )。使用语义版本控制以提高可读性,并让 Orchestrator 对版本正确进行排序。

成功后,将写入./dist/my-solution.1.0.0.zip 。JSON 响应返回Data.Package (格式为name@version )和Data.Packages (内部.nupkg文件名)。.zip路径本身遵循{outputDir}/{name}.{version}.zip约定,因此管道可以在不解析 JSON 的情况下构建它:

NAME=my-solution
VERSION=1.0.0
uip solution pack ./my-solution ./dist --name "$NAME" --version "$VERSION"
PACKAGE="./dist/${NAME}.${VERSION}.zip"
NAME=my-solution
VERSION=1.0.0
uip solution pack ./my-solution ./dist --name "$NAME" --version "$VERSION"
PACKAGE="./dist/${NAME}.${VERSION}.zip"

步骤 2. 发布到租户

uip solution publish ./dist/my-solution.1.0.0.zip
uip solution publish ./dist/my-solution.1.0.0.zip

包将上传到租户的解决方案订阅源。Orchestrator 会分配PackageVersionKey — 此特定版本在租户上的身份。publish具有(name, version)等 — 使用相同版本重新运行将返回现有版本,而不是复制内容。

提示:

如果要针对多租户组织中的特定租户运行,请将--tenant <tenant-name>传递给publishpack与租户无关。如有疑问, uip login status显示 CLI 当前绑定的租户。

步骤 3. 部署到 Orchestrator

uip solution deploy run \
  --name MyFirstDeployment \
  --package-name my-solution \
  --package-version 1.0.0 \
  --folder-name MySolutionFolder \
  --folder-path Shared
uip solution deploy run \
  --name MyFirstDeployment \
  --package-name my-solution \
  --package-version 1.0.0 \
  --folder-name MySolutionFolder \
  --folder-path Shared

标记(除非特别说明,否则为必填项):

  • --name部署名称(而非包名称)。使用有意义的内容;该位置用于标识未来deploy status / deploy activate调用的部署。
  • --package-name--package-version — 与您在第 2 步中发布的内容匹配。
  • --folder-name — 要为此部署创建的 Orchestrator 文件夹。
  • --folder-path — 父文件夹路径。Shared是租户根目录。
  • --folder-key — 父文件夹 GUID;如果您更喜欢按 ID 绑定,请使用此项代替--folder-path

deploy run轮询 Orchestrator,直到部署达到终止状态(默认轮询超时360秒,可通过--timeout进行调整)。响应包含新文件夹的路径和部署密钥。

备注:

--name--folder-name两个不同的实体--name为部署记录命名; --folder-name为部署创建的新 Orchestrator 文件夹命名。为两者选择相同的值是正常现象。

将其放在 CI 中

#!/usr/bin/env bash
set -euo pipefail

uip login \
  --client-id env.UIPATH_CLIENT_ID \
  --client-secret env.UIPATH_CLIENT_SECRET \
  --tenant "$UIPATH_TENANT"

uip solution pack ./my-solution ./dist --version "$BUILD_VERSION"
uip solution publish "./dist/my-solution.$BUILD_VERSION.zip"
uip solution deploy run \
  --name "my-solution-$GIT_SHA" \
  --package-name my-solution \
  --package-version "$BUILD_VERSION" \
  --folder-name MySolutionFolder \
  --folder-path Shared
#!/usr/bin/env bash
set -euo pipefail

uip login \
  --client-id env.UIPATH_CLIENT_ID \
  --client-secret env.UIPATH_CLIENT_SECRET \
  --tenant "$UIPATH_TENANT"

uip solution pack ./my-solution ./dist --version "$BUILD_VERSION"
uip solution publish "./dist/my-solution.$BUILD_VERSION.zip"
uip solution deploy run \
  --name "my-solution-$GIT_SHA" \
  --package-name my-solution \
  --package-version "$BUILD_VERSION" \
  --folder-name MySolutionFolder \
  --folder-path Shared

脚本在第一个非零状态下退出,因此任何步骤中的失败都会中止构建。uip如果成功,则返回0 ;如果失败,则返回1 ;具有域特定语义的命令(例如uip tm wait ,其重用2表示超时)可能返回其他代码 — 请参阅退出代码

部署后

部署解决方案后,Orchestrator 将拥有一个文件夹 ( Shared/MySolutionFolder )、解决方案中每个可部署项目一个流程,以及所有相关资源(资产、队列、触发器)。您现在可以:

# confirm the folder exists
uip or folders list --all --path "Shared/MySolutionFolder"

# find the processes that were created
uip or processes list --folder-path "Shared/MySolutionFolder"

# start a job
uip or jobs start <process-key>

# inspect the deployment
uip solution deploy status --deployment-key <deployment-key>
# confirm the folder exists
uip or folders list --all --path "Shared/MySolutionFolder"

# find the processes that were created
uip or processes list --folder-path "Shared/MySolutionFolder"

# start a job
uip or jobs start <process-key>

# inspect the deployment
uip solution deploy status --deployment-key <deployment-key>

如果使用单个 Studio 项目呢?

对于单个 Studio 项目(带有project.json目录,而非解决方案),传统管道为pack a .nupkgupload to a feedcreate a process 。该流程使用rpaor工具中的命令:

uip rpa pack ./MyStudioProject ./dist
uip or packages upload ./dist/MyStudioProject.1.0.0.nupkg
uip or processes create \
  --name MyProcess \
  --package-key MyStudioProject \
  --package-version 1.0.0 \
  --folder-path Shared
uip rpa pack ./MyStudioProject ./dist
uip or packages upload ./dist/MyStudioProject.1.0.0.nupkg
uip or processes create \
  --name MyProcess \
  --package-key MyStudioProject \
  --package-version 1.0.0 \
  --folder-path Shared

有关完整的标志列表,请参阅UIP RPA以及 Orchestrator流程参考资料。

后续步骤

此页面有帮助吗?

连接

需要帮助? 支持

想要了解详细内容? UiPath Academy

有问题? UiPath 论坛

保持更新