CodePush Management SDK
用于以编程方式管理 App Center 帐户的 JavaScript 库 (例如创建应用、提升发布) ,这允许创作基于 Node.js 的生成或部署脚本,而无需向 CLI发出 shell。
入门
使用以下 App Center 命令创建用于对 App Center 服务器进行身份验证的令牌:
appcenter tokens create -d "DESCRIPTION_OF_THE_KEY"API Token只显示一次,因此,如果需要,请记住将其保存到某个位置。通过执行以下操作安装管理 SDK:
npm install code-push --save使用以下语句导入它 (使用 ES6 语法,如适用) :
- 在 commonjs 环境中:
const CodePush = require("code-push");- 对 tsconfig.js使用 ES6 语法:
import CodePush from "code-push";创建类的实例
CodePush,并将其传递到API Token在步骤 #1 中创建的:const codePush = new CodePush("YOUR_API_TOKEN");开始自动管理你的帐户! 有关如何处理此对象的详细信息
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,则应用不会创建"过渡"和"生产"的默认部署;如果未指定或设置为
manuallyProvisionDeploymentsfalse,则它将创建。 - 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:配置的访问密钥无效或已过期。