美文网首页React Native
Code-Push 远端服务器搭建

Code-Push 远端服务器搭建

作者: 浮岳牵云 | 来源:发表于2019-03-13 15:50 被阅读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实现高效热更新

    相关文章

      网友评论

        本文标题:Code-Push 远端服务器搭建

        本文链接:https://www.haomeiwen.com/subject/udkzpqtx.html