官方Corlogix RUM CLI
Corlogix RUM CLI是一个命令行工具,旨在简化上传RUM(Real用户监测)的过程 数据。 它提供了一种简化的方法,可以认证Corlogix API,并管理源地图,dSYM文件,以及 ProGuard地图.
链接
安装
要安装 Corlogix RUM CLI,请遵循这些步骤:
- 打开终端或命令提示 .
- 运行以下命令以在全球安装 CLI :
npm install -g @coralogix/rum-cli - 安装后,您可通过运行使用 CLI
coralogix-rum-cli在你的终端.
认证和权限
以 Corlogix API 密钥上传认证 源头映射 权限。 这些权限允许CLI上传,替换,并管理它所处理的每一种源绘图文物类型:网络源图,回放原生源图,dSYM文件,ProGuard绘图和达特符号.
我们建议用源头绘图 权限预设,并及时通报所需行动。 或者,创建自定义的 API 密钥,并附带必要的源绘图动作 .
如何运作:
- API 密钥与
-k编号 :--private-key旗帜. - 权限在上传时由 Corlogix 后端验证.
- 如果密钥缺少所需的权限,则上传失败,出现授权错误.
- 这既适用于当地使用,也适用于CI管道.
这个 -a 编号 : --application 财务报告和审定财务报表 -v 编号 : --version 值必须与RUM SDK初始化时所用的值相匹配,否则上传的文物无法解决来袭事件.
图标
以下是如何使用 Corlogix RUM CLI 的一些例子:
网络 :
上传源地图 :
coralogix-rum-cli upload-source-maps -k <privateKey> -a <application> -v <version> -f <folderPath> -e <env> -c <commitHash> -n <repoName> -o <orgName>
原生反应 :
上传回原生源地图 :
coralogix-rum-cli upload-react-native-source-maps -k <privateKey> -a <application> -v <version> -f <folderPath> -e <env> -c <commitHash> -n <repoName> -o <orgName>
iOS: (英语)
上传 dSYM 文件 :
coralogix-rum-cli upload-dsym -k <privateKey> -a <application> -v <version> -f <folderPath> -e <env> -c <commitHash> -n <repoName> -o <orgName>
机器人:
上传 ProGuard 文件 :
coralogix-rum-cli upload-proguard -k <privateKey> -a <application> -v <version> -f <folderPath> -e <env> -c <commitHash> -n <repoName> -o <orgName>
小蝶/达特:
上传 Dart 符号 (. symbols 文件):
coralogix-rum-cli upload-dart-symbols -k <privateKey> -a <application> -v <version> -f <folderPath> -e <env> -c <commitHash> -n <repoName> -o <orgName>
选项
-k, --private-key <privateKey>:用 Corlogix API 认证的私钥.-a, --application <application>: 申请名称.-v, --version <version>:应用程序版本(必须与RUM SDK使用的版本相匹配).-f, --folder-path <folderPath>:包含源图,dSYM文件或ProGuard映射文件的文件夹路径.-e, --env <env>:你的环境(如欧盟1,US1).-c, --commit-hash <commitHash>: GitHub 承诺散列(可选).-n, --repo-name <repoName>: GitHub 寄存器名(可选).-o, --org-name <orgName>: GitHub 组织名称(可选).--override: 覆盖已存在的文件(可选).--merge: 与已有文件合并,允许多次上传到同一版本(可选,仅用于upload-source-maps, (中文(简体) ),upload-react-native-source-maps,以及upload-dart-symbols) (中文(简体) ).-h, --help: 显示帮助.
释放行为
上传为版本范围:每个应用程序和版本对是发布. 默认情况下,CLI对于现有的发行是严格的,而两个发行的旗帜会改变这一点.
默认( 无旗帜)
创建新版本,并 如果应用程序和版本已经存在,则失败。 。 。 .
--override - 替换现有的版本
替换给定应用程序和版本的所有现有文物 :
coralogix-rum-cli upload-source-maps --override -k <privateKey> -a <application> -v <version> -f <folderPath> -e <env>
- 删除以前为该版本上传的所有文物.
- 仅上传当前命令中的文物 .
- 无法结合
--merge- 通过两个失败Cannot use multiple upload modes together: --override, --merge。 。 。 . - 每个上传命令接受.
一个或多个之后使用 --merge 同一版本的上传, --override 删除以前合并过的一切——压倒性的上传成为该版本唯一真实的来源.
需要校正或完全再生出现有释放物的文物时使用.
--merge 增加一个现有的版本
将文物添加到现有的发布中,而不是失败或替换:
coralogix-rum-cli upload-<command> --merge -k <privateKey> -a <application> -v <version> -f <folderPath> -e <env>
- 要求应用程序和版本已经存在;如果不存在,则失败.
- 添加新文物而不删除先前上传的数据.
- 不调和或复制文物.
- 无法结合
--override- 通过两个失败Cannot use multiple upload modes together: --override, --merge。 。 。 . - 接受者为
upload-source-maps, (中文(简体) ),upload-react-native-source-maps财务报告和审定财务报表upload-dart-symbols只有这个.upload-dsym财务报告和审定财务报表upload-proguard别拿它.
当一个发布被上传到不止一个步骤时使用它,例如由单独的构建步骤产生的文物,或者一个大的构建分裂成更小的上传:
# First upload
coralogix-rum-cli upload-source-maps -k $KEY -a myapp -v 1.0.0 -f ./dist/main -e $ENV
# Second upload — appends, does not replace
coralogix-rum-cli upload-source-maps -k $KEY -a myapp -v 1.0.0 -f ./dist/lazy-chunks -e $ENV --merge
环境
使用 -e 选项 :
- 欧盟1:
https://ng-api-grpc.coralogix.com:443(eu-west-1,爱尔兰) - 欧盟2:
https://ng-api-grpc.eu2.coralogix.com:443(eu-North-1,斯德哥尔摩) - 美国1:
https://ng-api-grpc.coralogix.us:443(东2号,俄亥俄州) - 美国2:
https://ng-api-grpc.cx498.coralogix.com:443(西-2号,俄勒冈州) - 美国3:
https://ng-api-grpc.us3.coralogix.com:443(英语:Us-Central 1, Iowa) - 第1号附加议定书:
https://ng-api-grpc.app.coralogix.in:443(ap-South-1,孟买) - 第2号附加议定书:
https://ng-api-grpc.coralogixsg.com:443(ap-东南-1,新加坡) - AP3: (英语)
https://ng-api-grpc.ap3.coralogix.com:443亚太(雅加达)
文件夹大小限制
确保您的文件不超过以下大小限制 :
- 反应原生源地图 : 每个文件夹200MB
- 来源地图 : 每个文件夹200MB
- ProGuard 文件 : 每个文件夹200MB
- dSYM 文件 : 每个文件400MB
- 达特符号 : 每个文件400MB
一体化
CI 整合 :
要将您的 CI 管道中的上传进程自动化 :
-
创建 Shell 脚本 :
- 根据使用情况命名( N)
例如,
upload-source-maps.sh, (中文(简体) ),upload-react-native-source-maps.sh, (中文(简体) ),upload-dsym.sh,或upload-proguard.sh) (中文(简体) ).
- 根据使用情况命名( N)
例如,
-
脚本模板 :
#! /usr/bin/env bash # Replace these values with your actual information REPO_NAME="your-repo-name" ORG_NAME="your-github-username" APPLICATION="your-application-name" ENV="your-environment" FILES_PATH="your-files-path" PRIVATE_KEY="your-coralogix-private-key" VERSION="your-application-version" # Get the commit hash using git rev-parse COMMIT_HASH=$(git rev-parse HEAD) # Run Coralogix RUM CLI to upload the respective files coralogix-rum-cli upload-<command> -k "$PRIVATE_KEY" -a "$APPLICATION" -v "$VERSION" -f "$FILES_PATH" -e "$ENV" -c "$COMMIT_HASH" -n "$REPO_NAME" -o "$ORG_NAME"替换
<command>与source-maps, (中文(简体) ),react-native-source-maps, (中文(简体) ),dsym, (中文(简体) ),proguard,或dart-symbols基于文件类型.
非CI 整合 :
对于手动上传,请在终端中使用相应的命令:
coralogix-rum-cli upload-<command> -k "$PRIVATE_KEY" -a "$APPLICATION" -v "$VERSION" -f "$FILES_PATH" -e "$ENV" -c "$COMMIT_HASH" -n "$REPO_NAME" -o "$ORG_NAME"
替换 <command> 必要时可采用下列方法之一:
source-mapsreact-native-source-mapsdsymproguarddart-symbols
| ImportANT:$VERSION 参数必须精确匹配您 SDK 初始化(init)函数配置中指定的版本 浏览器的 Corlogix SDK |
|---|
可选 GitHub 信息
您可以提供额外的 GitHub 选项, 以加强源地图管理 :
-c, --commit-hash <commitHash>: 与源地图相接的线粒体.-n, --repo-name <repoName>: 源代码所在的寄存器名称.-o, --org-name <orgName>:与寄存器相关的组织用户.
这些选项是可选的,但可改善Corlogix RUM内部的问题跟踪.
许可证
这个项目根据麻省理工学院的许可证获得许可。 见 自由主义 详细文件.