a5fd25f10a
- 客户端接入 tauri-plugin-updater:原生侧注册插件,删除自研更新下载命令、下载进度事件与安装器启动逻辑 - 客户端更新服务与更新提示改走官方插件接口,删除自研清单解析、版本比较与下载实现 - 更新能力只授予客户端主窗口,移除只为自研清单放行的 OSS 白名单与 CSP 连接项 - 新增构建期更新检查开关:开发态默认关闭,agc 启动不请求更新清单、不显示更新入口 - 发布脚本按渠道生成官方更新插件清单与签名,universal macOS 产物同时挂两个平台键,缺签名失败关闭 - 发布脚本按渠道上传安装包、签名与渠道清单,并为 dev-win 生成旧协议 sha256 迁移清单 - 构建期按渠道注入更新端点配置,渠道与目标平台不匹配时发布失败关闭 - Jenkins 流水线新增渠道参数与签名凭据注入,归档补充签名与迁移清单 - 新增发布上传 dry-run 开关,只打印 ossutil 命令且不回显凭据 - 更新技术方案与开发运维文档,登记 macOS 渠道落地待办
28 lines
871 B
JavaScript
28 lines
871 B
JavaScript
/**
|
|
* 发布上传的 OSS 命令行整理:把 ossutil 参数与凭据整理成可执行或可打印的形式,
|
|
* 便于在 dry-run 下核对将要执行的上传,同时保证任何输出都不回显凭据明文。
|
|
*/
|
|
const redactedCredential = '<redacted>';
|
|
|
|
export function readReleaseDryRun(env = process.env) {
|
|
const value = env.AGC_RELEASE_DRY_RUN?.trim().toLowerCase();
|
|
return value === '1' || value === 'true';
|
|
}
|
|
|
|
function quoteArgument(value) {
|
|
return /[\s"']/u.test(value) ? JSON.stringify(value) : value;
|
|
}
|
|
|
|
export function formatOssutilCommand({ binary, args, endpoint, credentials }) {
|
|
const parts = [binary, ...args, '--endpoint', endpoint];
|
|
if (credentials) {
|
|
parts.push(
|
|
'--access-key-id',
|
|
redactedCredential,
|
|
'--access-key-secret',
|
|
redactedCredential,
|
|
);
|
|
}
|
|
return parts.map(quoteArgument).join(' ');
|
|
}
|