CodePush Management SDK

用于以编程方式管理 App Center 帐户的 JavaScript 库 (例如创建应用、提升发布) ,这允许创作基于 Node.js 的生成或部署脚本,而无需向 CLI发出 shell。

入门

  1. 使用以下 App Center 命令创建用于对 App Center 服务器进行身份验证的令牌:

    appcenter tokens create -d "DESCRIPTION_OF_THE_KEY"
    

    API Token 只显示一次,因此,如果需要,请记住将其保存到某个位置。

  2. 通过执行以下操作安装管理 SDK:

    npm install code-push --save
    
  3. 使用以下语句导入它 (使用 ES6 语法,如适用) :

    • 在 commonjs 环境中:
    const CodePush = require("code-push");    
    
    • 对 tsconfig.js使用 ES6 语法:
    import CodePush from "code-push";
    
  4. 创建类的实例 CodePush ,并将其传递到 API Token 在步骤 #1 中创建的:

    const codePush = new CodePush("YOUR_API_TOKEN");
    
  5. 开始自动管理你的帐户! 有关如何处理此对象的详细信息 codePush ,请参阅下面的 API 参考部分。

API 参考

code-push 模块会将单个类 (通常称为 CodePush) ,它表示 CodePush 帐户管理 REST API 的代理。 此类具有单个用于通过 CodePush 服务进行身份验证的构造函数,以及与管理 CLI中的命令相对应的实例方法的集合,这使你能够以编程方式控制 App Center 帐户的每个方面。

构造函数

  • CodePush (accessKey: string) -使用指定的访问密钥向服务器进行身份验证,创建 CODEPUSH 管理 SDK 的新实例。

方法

备注

access key 此处指的是 AppCenter API 令牌。

  • addAccessKey (说明: string) :承诺 <AccessKey > -使用指定的说明创建新的访问密钥, (例如 "AZURE DevOps CI" ) 。
  • addApp (appName: string、os: string、platform: string、manuallyProvisionDeployments: boolean = false) :承诺 <应用 > -使用指定的名称、os 和平台创建新的 CodePush 应用。 如果 设置为 true,则应用不会创建"过渡"和"生产"的默认部署;如果未指定或设置为 manuallyProvisionDeployments false,则它将创建。
  • addCollaborator (appName: string, email: string) : Promise < void > - 将指定的 CodePush 用户作为协作者添加到指定的 CodePush 应用。
  • addDeployment (appName: string, deploymentName: string) : Promise <部署 >- 为指定的应用创建具有指定名称和 的新部署。
  • clearDeploymentHistory (appName: string, deploymentName: string) : Promise < void > - 清除指定应用部署的发布历史记录。
  • getAccessKey (accessKey: string) : Promise <AccessKey > - 检索有关特定访问密钥的元数据。
  • getAccessKeys () :Promise <AccessKey[] > - 检索 CodePush 帐户的访问密钥列表。
  • getApp (appName: string) : Promise <应用 >- 检索有关指定应用的元数据。
  • getApps () :Promise <App[] > - 检索 CodePush 帐户的应用列表。
  • getCollaborators (appName: string) : Promise <协作者 > 映射 - 检索指定应用的协作者列表。
  • getDeployment (appName: string, deploymentName: string) : Promise <部署 >- 检索指定应用部署的元数据。
  • getDeploymentHistory (appName: string, deploymentName: string) : Promise <Package[] > - 检索已对指定应用部署进行发布的列表。
  • getDeploymentMetrics (appName: string, deploymentName) : Promise <DeploymentMetrics > - 检索指定应用部署的安装指标。
  • getDeployments (appName: string) : Promise <Deployment[] > - 检索指定应用的部署列表。
  • patchRelease (appName: string、deploymentName: string、label: string、updateMetadata: PackageInfo) :承诺 < void > -用给定的信息更新指定版本的元数据。
  • 提升 (appName: string、sourceDeploymentName: string、destinationDeploymentName: string、updateMetadata: PackageInfo) :承诺 < void > -将指定应用的最新发布从一个部署升级到另一个,并更新具有给定元数据的发布。
  • release (appName: string、deploymentName: string、updateContentsPath: string、targetBinaryVersion: string、updateMetadata: PackageInfo) :承诺 < void > -向具有给定元数据的指定部署发布新的更新。
  • removeAccessKey (accessKey: string) :承诺 < void > -从 CodePush 帐户中删除指定的访问密钥。
  • removeApp (appName: string) :承诺 < void > -从帐户中删除指定的 CodePush 应用。
  • removeCollaborator (appName: string、email: string) :承诺 < void > -从指定的应用中删除指定的帐户作为协作者。
  • removeDeployment (appName: string,deploymentName: string) :承诺 < void > -从指定的应用中删除指定的部署。
  • renameApp (oldAppName: string、newAppName: string) :承诺 < void > -重命名现有应用。
  • renameDeployment (appName: string、oldDeploymentName: string、newDeploymentName: string) :承诺 < void > -重命名指定应用内的现有部署。
  • rollback (appName: string、deploymentName: string、targetRelease?: string) :承诺 < void > -回滚指定部署中的最新版本。 (可选)允许以部署的历史记录中的特定版本为目标,而不是滚动到以前的版本。

错误处理

当任何方法中出现错误时,将使用具有以下属性的 CodePushError 对象拒绝该承诺:

  • 消息:描述错误的用户友好消息。
  • statusCode:标识错误类别的 HTTP 响应代码:
    • CodePush.ERROR_GATEWAY_TIMEOUT:网络错误阻止你连接到 CodePush 服务器。
    • CodePush.ERROR_INTERNAL_SERVER:在 CodePush 服务器上内部发生错误。
    • CodePush.ERROR_NOT_FOUND:尝试检索的资源不存在。
    • CodePush.ERROR_CONFLICT:你尝试创建的资源已存在。
    • CodePush.ERROR_UNAUTHORIZED:配置的访问密钥无效或已过期。