React Native

Code-Push 远端服务器搭建

2019-03-13  本文已影响0人  浮岳牵云

CodePush 简介

CodePush 是微软提供的一套用于热更新 React Native 和 Cordova 应用的服务。

CodePush 是提供给 React Native 和 Cordova 开发者直接部署移动应用更新给用户设备的云服务。CodePush 作为一个中央仓库,开发者可以推送更新 (JS, HTML, CSS and images),应用可以从客户端 SDK 里面查询更新。CodePush 可以让应用有更多的可确定性,也可以让你直接接触用户群。在修复一些小问题和添加新特性的时候,不需要经过二进制打包,可以直接推送代码进行实时更新。

CodePush 可以进行实时的推送代码更新:

直接对用户部署代码更新

管理 Alpha,Beta 和生产环境应用

支持 React Native 和 Cordova

支持JavaScript 文件与图片资源的更新

热更新的比较简单,说简单点就是一个.jsbundle文件/Assets素材文件版本管理工具。有些小伙伴担心使用微软服务器进行更新觉得会不安全,但是codePush管理的是.jsbundle所以大家大可以直接使用。图中是打包上传过程(code-push release-react Demo-iOS ios --t 1.6.0 --d Staging --des “第5次更新测试” -m false)。然而 CodePush 服务器是在国外的,国内使用的话速度并不理想,所以自建CodePush 服务是最理想的。网上已有大量的本地服务器搭建指南。

服务器搭建 

链接上远端服务器之后进入需要的文件夹

ssh root@ 100.100.100.100

输入密码

cd /xx/xx/xx/

1, 服务端需要使用 code-push-server 和MySQL 所以需要先将这两个安装好。

(1)下载code-push-server代码

git clone https://github.com/lisong/code-push-server.git      

cd code-push-server && npm install

(2)MySQL

官网下载后直接双击安装,下载地址

打开“系统设置”,看到最新安装的MySQL,进入并启动服务。

(3)配置code-push-server

创建表结构

./bin/db init --dbhost '对应数据库IP' --dbuser root --dbpassword 数据库密码

eg.. ./bin/db init --dbhost 127.0.0.1 --dbuser root --dbpassword root

若表结构创建不成功,请检查MySql是否正常运行。若正常运行也可以自己创建表结构(表结构SQL)

然后继续配置config.js

cd config/config.js

客户端搭建:

1. 客户端需要安装 code-push-cli 参考文档

npm install -g code-push-cli

2. 登录code-push-server,使code push和自建的服务器关联

执行命令查看当前是否登录,因为是新服务,所以要先保证没有别的账号正在登录

code-push whoami

如果报错如下,表示没有登录

[Error] You are not currently loggedin. Run the'code-push login'command to authenticatewiththe CodePush server.

如果没有报错 并且显示邮箱账号,则表示已经登录账户,则我们要先注销当前账号

code-push logout

code-push login http://服务器地址:3000

//提示此表示登录成功 Successfully logged-in…… 

创建应用:

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

选项:

  -v, --version  显示版本号  [布尔]

示例:

  app add MyApp ios react-native      Adds app "MyApp", indicating that it's an iOS React Native app

  app add MyApp windows react-native  Adds app "MyApp", indicating that it's a Windows React Native app

  app add MyApp android cordova      Adds app "MyApp", indicating that it's an Android Cordova app

e.g..

code-push app add ReactNativeCodePushDemo-ios ios react-native

可以使用

 code-push deployment ls XunHuiFinance-ios -k

进行查看

可以通过命令行查看,更多相关命令,请查阅官方文档

躺坑:

以上如果都配置好的话如果发现打包上传提示

[Error] connect ECONNREFUSED 127.0.0.1:3000

此时需要对本地的code-push配置文件/user/xxx/.code-push.config 进行关联

重新登录code-push服务器输入密码拿到token 输入token 就可以了。此时阿里云上的服务和我本地的RN项目才算关联起来了

其他步骤请参考已下资料:

react-native热更新之CodePush详细介绍及使用方法

React Native--搭建本地Code Push Server实现高效热更新

上一篇 下一篇

猜你喜欢

热点阅读