BugSpla
为繁忙的开发者构建了崩溃和错误报告 .
符号上载
此 repo 是一个简单的 Node.js 工具, 一组库, 和 GitHub 动作, 用于上传符号文件或源地图到 BugSpla。这个工具被设计为用于您的构建进程,用于将每个生产构建的符号自动上传到 BugSplate 。 此软件包可用作库或命令行工具.
行动
使用 symbol-upload 您的动作 GitHub 动作 通过修改以下片段来修改工作流程 .
- name: Symbols 📦
uses: BugSplat-Git/symbol-upload@v11
with:
clientId: "${{ secrets.SYMBOL_UPLOAD_CLIENT_ID }}"
clientSecret: "${{ secrets.SYMBOL_UPLOAD_CLIENT_SECRET }}"
database: "${{ secrets.BUGSPLAT_DATABASE }}"
application: "your-application"
version: "your-version"
files: "**/*.{pdb,exe,dll}"
directory: "your-build-directory"
node-version: "24"
dumpSyms: false
请务必使用 隐藏 以免你暴露价值 clientId, (中文(简体) ), clientSecret,以及 database。 。 。 .
键 @v11 跟踪最新11.x发布,或精确的标签,如 @v11.0.0。动作安装 @bugsplat/symbol-upload npm 包版本匹配被绑定的 ref; SHA 和分支 refs 安装该承诺所记录的版本 package.json设置 symbol-upload-version 以覆盖.
命令行
安装此 symbol-upload 全球使用 npm.
npm i -g @bugsplat/symbol-upload
或者,可以使用终端下载二进制版本.
马可
curl -sL -O "https://app.bugsplat.com/download/symbol-upload-macos" && chmod +x symbol-upload-macos
窗口
Invoke-WebRequest -Uri "https://app.bugsplat.com/download/symbol-upload-windows.exe" -OutFile "symbol-upload-windows.exe"
链接
curl -sL -O "https://app.bugsplat.com/download/symbol-upload-linux" && chmod +x symbol-upload-linux
运行 symbol-upload 与 -h 查看最新使用信息和软件包版本:
bobby@BugSplat % ~ % symbol-upload -h
@bugsplat/symbol-upload v10.5.2
symbol-upload contains a command line utility and a set of libraries to help
you upload symbol files to BugSplat.
Usage
-h, --help Print this usage guide.
-b, --database string Your BugSplat database name. The value of
database must match the value used to
post crash reports. This value can also
be provided via the BUGSPLAT_DATABASE
environment variable.
-a, --application string The name of your application. If not
provided symbol-upload will attempt to
use the value of the name field in
package.json if it exists in the current
working directory.
-v, --version string Your application's version. If not
provided symbol-upload will attempt to
use the value of the version field in
package.json if it exists in the current
working directory.
-i, --clientId string An OAuth2 Client Credentials Client ID
for the specified database. If provided
--clientSecret must also be provided.
This value can also be provided via the
SYMBOL_UPLOAD_CLIENT_ID environment
variable.
-s, --clientSecret string An OAuth2 Client Credentials Client
Secret for the specified database. If
provided --clientId must also be
provided. This value can also be provided
via the SYMBOL_UPLOAD_CLIENT_SECRET
environment variable.
-r, --remove Removes symbols for a specified database,
application, and version. If this option
is provided no other actions are taken.
-f, --files string (optional) Glob pattern that specifies a set of
files to upload. For example,
**/*.{pdb,exe,dll} will recursively
search for .pdb, .exe, and .dll files.
Defaults to "*.js.map"
-d, --directory string (optional) Path of the base directory used to search
for symbol files. This value will be
combined with the --files glob. Defaults
to '.'
-m, --dumpSyms boolean (optional) Use dump_syms to generate and upload sym
files for specified binaries.
-l, --localPath string (optional) Path to a directory to copy symbols to.
If provided, the files will be copied to
the provided path instead of being
uploaded to BugSplat. Useful for creating
a self-hosted symbol server.
The -i and -s arguments are not required if you set the environment variables
SYMBOL_UPLOAD_CLIENT_ID and SYMBOL_UPLOAD_CLIENT_SECRET.
Example
symbol-upload -b your-bugsplat-database -a your-application-name -v your-
version -i your-client-id -s your-client-secret [ -f "*.js.map" -d
"/path/to/containing/dir" ]
Links
🐛 https://bugsplat.com
💻 https://github.com/BugSplat-Git/symbol-upload
💌 [email protected]
运行指定符号上载 阴影 模式 -f 和一条向前斜线的路径 -d。多个文件类型可以用逗号隔开的圆括号来指定,通配符可以用于循环搜索目录。 譬如说, **/*.{pdb,exe,dll} 将查找所有 .pdb, (中文(简体) ), .exe,以及 .dll 当前目录和所有子目录中的文件。 可选择指定 -m 要运行的旗帜 丢弃( s) 针对指定的二进制并上传结果 .sym 文档.
自控符号服务器
符号加载工具可用于创建 符号SymSrv 兼容 BugSplate 和 Windows 符号的目录结构 微软视觉工作室此外,符号-上载还可以为macOS和Crashpad符号创建一个SymSrv目录结构,与BugSplatz兼容.
要将符号上传到本地目录,请提供 -l 旗帜和将复制符号的路径.
symbol-upload -f "**/*.{pdb,exe,dll}" -l "C:\path\to\output"
接下来,使用同步工具将目录上传到云服务供应商. 下面是使用 s3 sync 通过 AWS CLI (英语)。 。 。 .
aws s3 sync . s3://your-bucket-name-here
要将 BugSplaet 连接到您自托管的符号服务器, 请参考我们的符号服务器 文档。 。 。 .
API 密码
在本地安装此软件包
npm i @bugsplat/symbol-upload
模块兼容性
这个软件包既支持ES模块(ESM),也支持CommonJS(CJS)格式. 在任何一种环境中都可以使用:
ES模块(ESM):
import { OAuthClientCredentialsClient, uploadSymbolFiles } from '@bugsplat/symbol-upload';
常见JS( CJS):
const { OAuthClientCredentialsClient, uploadSymbolFiles } = require('@bugsplat/symbol-upload');
导入 OAuthClientCredentialsClient 从 @ bugsplat/ symbol- upload 并用一个认证 OAuth2 客户端证书 客户身份和客户秘密.
创建新实例 OAuthClientCredentialsClient 使用 createAuthenticatedClient async 工厂功能 .
const bugsplat = await OAuthClientCredentialsClient.createAuthenticatedClient(clientId, clientSecret);
将符号文件上传到bugsplat 中,通过调用 uploadSymbolFiles 函数.
const directory = '/path/to/symbols/dir';
const files = ['my-cool-app.exe', 'my-cool-app.pdb'];
await uploadSymbolFiles(bugsplat, database, application, version, directory, files);
如果您所做的一切正确, 请单击应用程序链接时显示您的符号 版本数 页 次.
谢谢你用BugSplate!
