`
222xiaohuan
  • 浏览: 53254 次
  • 性别: Icon_minigender_2
  • 来自: 苏州
社区版块
存档分类
最新评论

code-push-server 搭建自己的推送服务器流程

阅读更多

github地址: https://github.com/lisong/code-push-server

 

一,server端配置流程

1, 安装和启动code-push-server

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

$ cd code-push-server

$ npm install

 

2,初始化数据库

cd到code-push-server目录

$ ./bin/db init --dbhost localhost --dbuser root --dbpassword #初始化mysql数据库

初始化数据库的时候本命令默认没有密码的,请前往code-push-server安装目录bin/db中修改



 

 

密码修改之后在执行数据库初始化命令就可以成功了。

 

3,修改config.js配置问题

打开配置文件



 修改三个地方,新建一个目录

 a, 数据库配置信息,账号密码等

 b, 修改downloadUrl 为本机ip地址

  local: {

    // Binary files storage dir, Do not use tmpdir and it's public download dir.

    storageDir: "/Users/tablee/workspaces/storage",

    // Binary files download host address which Code Push Server listen to. the files storage in storageDir.

    downloadUrl: "http://192.168.0.7:3000/download",

    // public static download spacename.

    public: '/download'

  },

 c,  到https://www.grc.com/passwords.htm 这个地方,生成一个63 random alpha-numeric characters,填到tokenSecret字段里面

jwt: {

    // Recommended: 63 random alpha-numeric characters

    // Generate using: https://www.grc.com/passwords.htm

    tokenSecret: '6ix6a5Vw6knWnpZvlVhXqVGeQx86jGuaJb6YCdiVoyAbkA07IB59jgZKUcoizZI'

  },

 d,安装配置文件中的目录结构,到/Users目录中建立如下文件夹 /Users/tablee/workspaces/storage 

 

4,启动code-push-server服务器

cd到code-push-server目录,执行一下命令

$ ./bin/www #启动服务 浏览器中打开 http://127.0.0.1:3000 (也可以用本机ip访问 http://192.168.0.7:3000)

到此服务器端到配置就完成了。

 

二,客户端配置流程

客户端测试代码以 https://github.com/lisong/code-push-demo-app 为例

1,clone客户端代码

$ git clone git@github.com:lisong/code-push-demo-app.git

 

2, cd  到demo路径,执行npm install 安装node依赖包

 

3,用Android Studio打开code-push-demo-app/android目录

到MainApplication.java里面修改以下代码

@Override

protected List<ReactPackage> getPackages() {

  return Arrays.<ReactPackage>asList(

      new MainReactPackage(),

      new CodePush(

         "YourKey",  // code-push app add项目后生成的app 推送key

         MainApplication.this,

         BuildConfig.DEBUG,

         "YourCodePushServerUrl"   // config.js中配置的downloadUrl 地址 不需要/download后缀

      )

  );

}

下面是我的配置

@Override

    protected List<ReactPackage> getPackages() {

      return Arrays.<ReactPackage>asList(

          new MainReactPackage(),

          new CodePush(getResources().getString(R.string.reactNativeCodePush_androidDeploymentKey),

                  getApplicationContext(),

                  BuildConfig.DEBUG,

                  "http://192.168.0.7:3000/")

      );

    }

4,打开命令终端,登录code-push-server服务器,这里配置为local,所以登录地址为http://127.0.0.1:3000 或者 http://192.168.0.7:3000/

   $ code-push http://127.0.0.1:3000  //账号密码为博主提供  account:  admin password:  123456

登录成功之后获取token



 将文本框中的key复制粘贴到登录终端,点击回车登录成功

 

 5,添加推送app

$ code-push app add CodePushReactNativeDemo-android #android版

添加完成之后可以用code-push app list命令查看创建好的app,并将测试的Staging key拷贝到MainApplication.java中的 “Your Key“ 的位置,推送的时候通过key将app和服务器端关联

 

6,cd 到code-push-demo-app目录,允许react-native start 启动react-native 服务

 

7,Android Studio编译并将项目运行到手机上,reload更新到最新js包

 

8,在code-push-demo-app中首页随意做一些修改,这里添加了一段静态问题:“我是热更新内容" ,执行推送命令

测试环境执行:

$ code-push release-react CodePushReactNativeDemo-android android

生产环境执行:

$ code-push release-react CodePushReactNativeDemo-android android -d Production



 

9,到app中点击 “Start Sync!“ 执行完安装后,可以看到页面上多了“我是热更新内容". 



 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 大小: 124.5 KB
  • 大小: 71.7 KB
  • 大小: 192.7 KB
  • 大小: 64.9 KB
  • 大小: 44.9 KB
  • 大小: 137 KB
  • 大小: 88 KB
  • 大小: 89.4 KB
  • 大小: 89.3 KB
  • 大小: 22.8 KB
  • 大小: 103.1 KB
分享到:
评论

相关推荐

    cordova-hot-code-push-cli(热更新插件)

    热更新时,我们执行命令 npm install -g cordova-hot-code-push-cli安装插件,但运行cordova-hcp server会报错,如:Could not create tunnel: { Error: ngrok is not yet ready to start tunnels...,这时我们找到...

    react-native-code-push集成android篇.docx

    `npm install -g code-push-cli` 然后,注册 CodePush 账号,使用以下命令: `code-push register` 这时,系统会自动打开一个授权网页,选择一个你有账号的登录方式,例如 GitHub 登录。登录成功后,会在网页上...

    cordova-hot-code-push-cli20200529.rar

    启动cordova-hcp server报错 Could not create tunnel: { Error: ngrok is not yet ready to start tunnels 时,将路径 下的cordova-hot-code-push-cli文件下用下载的文件替换就可以了

    code_push的安装教程

    向 Code_push 服务器推送代码更新,你需要先构建好更新包,然后使用 `code-push release-react [app 名称] [平台] [部署环境]` 命令,例如 `code-push release-react Lesson1 ios staging`,这样就将更新推送到 ...

    cordova-hot-code-push-cli.zip

    启动cordova-hcp server报错 Could not create tunnel: { Error: ngrok...时,将路径 我个人的是:(C:\Users\lenovo\AppData\Roaming\npm\node_modules)下的cordova-hot-code-push-cli文件下用下载的文件替换就可以了

    react-native-code-push

    "React-Native-Code-Push" 是一个由微软开发的开源库,专为React Native应用程序设计,用于实现热更新功能。这个工具允许开发者在不发布新版本应用到应用商店的情况下,将代码更新推送到用户的设备上,极大地提高了...

    react-native-code-push, 为CodePush响应本机模块.zip

    react-native-code-push, 为CodePush响应本机模块 针对CodePush响应本机 MODULE注意:这个自述文件只与我们的插件的最新版本相关。 如果你使用的是旧版本,请在我们的GitHub repo 上找到相关标签,以便查看该特定...

    docker-compose部署code-server配置文件详情

    code-server部署在docker上需要的配置文件,一件部署,实现在线编码

    code_push安装

    通过上述步骤,我们不仅能够顺利完成`code_push`的安装,还能熟练掌握如何利用`code-push-cli`工具向服务器推送代码、管理应用以及处理一些常见的错误情况。这对于提高移动应用的迭代效率和用户体验具有重要意义。...

    code-push-server-master.zip

    CodePush是一个微软开发的云服务器。通过它,开发者可以直接在用户的设备上部署手机应用...CodePush相当于一个中心仓库,开发者可以推送当前的更新(包括JS/HTML/CSS/IMAGE等)到CoduPush,然后应用将会查询是否有更新

    ionic2 codepush热更新使用

    ionic cordova plugin add cordova-plugin-code-push@latest ``` 2. **安装Ionic Native插件**: ```bash npm install --save @ionic-native/code-push ``` 3. **安装CodePush CLI**: ```bash npm install -...

    code-server-4.92.2.zip

    code-server-4.92.2.zipcode-server-4.92.2.zipcode-server-4.92.2.zipcode-server-4.92.2.zipcode-server-4.92.2.zipcode-server-4.92.2.zipcode-server-4.92.2.zipcode-server-4.92.2.zipcode-server-4.92.2.zip...

    code-push-demo:如何在IonicCordova应用程序中使用CodePush的示例

    入门安装CodePush CLI npm install -g code-push-cli注册并登录 code-push registercode-push loginCodePush使用Github / Microsoft Live帐户进行身份验证。 但是,您将需要创建一个可供多个开发人员使用的共享登录...

    cordova-plugin-code-push:CodePush的Cordova插件

    通过使代码和图像与您发布到CodePush服务器的更新同步,CodePush插件可帮助您立即在最终用户面前获得产品改进。 这样,您的应用程序将获得脱机移动体验的优势,并在可用时立即获得侧面加载更新的“类似于网络”的...

    code-server-3.4.1-linux-x86_64.tar.gz

    code-server是基于Visual Studio Code(VSCode)的Web版本,它允许用户在远程服务器上运行VSCode,并通过浏览器进行代码编辑、调试和协作。这个压缩包"code-server-3.4.1-linux-x86_64.tar.gz"是针对Linux x86_64...

    c#友盟推送Demo(包括安卓和IOS) U-Push

    友盟U-Push是由阿里巴巴旗下的友盟提供的推送服务,它允许开发者通过云端平台向用户的设备发送消息,无论是通知、自定义消息或是富媒体消息。其优点在于统一的API接口,跨平台的支持以及丰富的推送策略,如地理位置...

    rnkit-code-push-cli:rnkit-code-push是用于响应本机的命令工具

    带有RNKit Code Push命令行界面工具安装含纱yarn add global rnkit-code-push-cli使用NPM npm install -g rnkit-code-push-cli社区谢谢reactnative.cn:实现参考的部分源代码此项目代码fork自react-native-pushy执照...

    code-server-ms-v4.19.3.1-linux-amd64.tar.gz

    code-server-ms-v4.19.3.1-linux-amd64.tar.gz

Global site tag (gtag.js) - Google Analytics