code-push配置(mac OS环境下)

2018-05-30  本文已影响25人  你家毕老师

code-push配置(mac OS环境下)

1. homebrew

Homebrew, Mac系统的包管理器,用于安装NodeJS和一些其他必需的工具软件。

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

译注:在Max OS X 10.11(El Capitan)版本中,homebrew在安装软件时可能会碰到/usr/local目录不可写的权限问题。可以使用下面的命令修复:

sudo chown -R 'whoami' /usr/local

2. Node

使用Homebrew来安装Node.js.

React Native目前需要NodeJS 5.0或更高版本。本文发布时Homebrew默认安装的是最新版本,一般都满足要求。

brew install node

安装完node后建议设置npm镜像以加速后面的过程(或使用科学上网工具)。注意:不要使用cnpm!cnpm安装的模块路径比较奇怪,packager不能正常识别!

npm config set registry https://registry.npm.taobao.org --global

npm config set disturl https://npm.taobao.org/dist --global

3. CodePush 运行命令

  1. 安装

npm install -g code-push-cli

  1. 创建账号

code-push register

这将会启动浏览器,要求验证你的Github或微软帐号。一旦验证成功,它将创建一个CodePush帐号跟你的Github或MSA相连,并生成一个访问密钥(Access Key),你可以拷贝/粘贴到CLI以便登录。

  1. 身份认证

在CodePush CLI里大多数命令需要身份认证,所以在你开始管理你的帐号之前,你需要使用GitHub或者微软帐号注册和登录。

code-push login

这将会启动浏览器,要求验证你的Github或微软帐号。这将生成一个访问密钥(Access Key),然后你可以拷贝/粘贴到CLI(它会提示你这样做)。这时你就认证成功了,并且可以关掉你的浏览器了。

如果在任何时候你想确认你是否已经登录了,你可以运行如下命令来显示与你当前认证会话相关的e-mail帐号,而且这个身份提供者是连接到(如:GitHub)的。

code-push whoami

当你从CLI登录后,你的访问密钥(Access Key)就一直保存在你本地磁盘上,所以你不必每次使用帐号是都需要登录。为了终止会话或删除AccessKey,你可以简单的运行如下命令:

code-push logout

如果你在一台机器上忘记注销(比如:你朋友的电脑上),你可以使用如下命令列出和删除任何“激活中”的Access Keys。Access Keys列表将显示创建Key的机器名和发生登录的时间。这让你可以简单的认出那些你不想要保存的Keys。

code-push access-key ls

code-push access-key rm <accessKey>

如果你需要额外的Keys,被用来验证CodePush服务而不需要给你的GitHub和/或访问微软凭证,您可以运行下面的命令来创建一个持久的Access Key(连同一个描述):

code-push access-key add "VSTS Integration"

在创建新的密钥之后,您可以在login命令后使用--accessKey标志并指定其值,它允许您执行“无头”身份验证,而不是启动一个浏览器。

code-push login --accessKey <accessKey>

当使用这种方式登录时,密钥(Access Key)在注销时不会自动失效,它可以一直被使用,除非它从CodePush服务端明确被移除掉。然而,仍然建议一旦你完成了会话就注销掉,以便从本地磁盘移除掉你的授权证书。

  1. 应用管理

在你发布更新前,你需要用如下命令在CodePush服务上注册一个App:

code-push app add <appName> <os> <platform>

如果你的App既有iOS又有Android,请为不同平台创建单独的App(详情参照下文的注解)。一个平台一个。这样你可以单独的管理和发布更新,从长远来看这会让事情更简单。大部分人的命名约定会在App名加后缀-IOS和-Android。例如:

code-push app add MyApp-Android

code-push app add MyApp-iOS

注意:在iOS和Android使用相同的app可能会导致安装异常,因为CodePush在iOS和Android的更新包内容会有差异

所有新的Apps自动会出现有个部署环境(Staging和Production),为了你可以开始发布更新到不同的渠道而不需要做任何其它的事(参考下面的部署指南)。你创建一个App之后,CLI将显示Staging和Production环境的开发密钥,你就可以使用不同的SDKs(详细请看Cordova 和 React Native)来配置你的手机端App了。

如果你不想要一个App,你可以从服务端上移除它,命令如下:

code-push app rm <appName>

做这个移除请务必小心,因为任何配置了它的App都将停止收到更新了。

最后,如果你想列出你在CodePush服务上注册的所有Apps,你可以运行如下命令:

code-push app ls

常用命令

  1. 打包

react-native bundle --platform ios --entry-file index.js --bundle-output ./bundles/main.jsbundle --dev false

  1. 发布

code-push release cstore-ios ./bundles/main.jsbundle 0.0.1 --deploymentName Production --description “版本描述” --mandatory true

  1. 更新

code-push release cstore-ios ./bundles/main.jsbundle 0.0.1 --deploymentName Production --description "1.支持文章缓存。" --mandatory true

  1. 查看所有更新

code-push deployment history cstore-ios Staging

  1. 回滚

code-push rollback cstore-ios Staging

参考资料


通过网站管理

1. 点击网站左上角的应用中心图标,可以看到当前所有添加的应用

应用中心

2. 点击右上角可以添加应用

添加应用

3. 选择创建的app进入对应的应用管理页面

应用管理

4. 查看和管理各个部署环境的版本更新

部署管理

5. 一个部署版本下的激活情况

详情

6. 我们也可以在这里把测试好的版本部署到生产环境

部署到生产环境
上一篇下一篇

猜你喜欢

热点阅读