搭建本身的code-push-server服务器

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

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

 

CodePush Server是CodePush程序服务器! 微软的CodePush云在中国很慢,咱们能够用它来构建咱们的。 我使用七牛来存储文件,由于它简单快捷! 或者你可使用[local / s3 / oss / tencentcloud]存储,只需修改config.js文件,它就是简单的配置。 node

--------------mysql

CodePush应用更新流程linux

从上图你们能够了解到,CodePush的云服务是Microsoft的,服务器有可能在国外,身在天朝的咱们以及用户更新速度确定是无比的慢;为了给用户最佳的用户体验,以及让代码和服务掌握在本身的手里,本身搭建code-push-server成为了必须!


------------------sql

一、安装node.js和npmdocker

http://www.javashuo.com/article/p-yfksumxx-h.html

 

二、安装MySQL(推荐5.7经典版本)shell

由于用的是本身公司的服务器,能够参考这篇文章 Linux安装Java和MySQL  

 

 

三、从npm上获取code-push-server数据库

$ npm install code-push-server@latest -g

[root@wood ~]# npm i -g pm2npm

/usr/local/lib/nodejs/node-v8.16.0-linux-x86/bin/pm2 -> /usr/local/lib/nodejs/node-v8.16.0-linux-x86/lib/node_modules/pm2/bin/pm2json

/usr/local/lib/nodejs/node-v8.16.0-linux-x86/bin/pm2-dev -> /usr/local/lib/nodejs/node-v8.16.0-linux-x86/lib/node_modules/pm2/bin/pm2-dev

/usr/local/lib/nodejs/node-v8.16.0-linux-x86/bin/pm2-docker -> /usr/local/lib/nodejs/node-v8.16.0-linux-x86/lib/node_modules/pm2/bin/pm2-docker

/usr/local/lib/nodejs/node-v8.16.0-linux-x86/bin/pm2-runtime -> /usr/local/lib/nodejs/node-v8.16.0-linux-x86/lib/node_modules/pm2/bin/pm2-runtime

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.8 (node_modules/pm2/node_modules/fsevents):

npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.8: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"ia32"})


+ pm2@3.5.0

added 310 packages from 258 contributors in 22.057s

[root@wood ~]# npm install code-push-server@latest -g

npm WARN deprecated circular-json@0.5.9: CircularJSON is in maintenance only, flatted is its successor.


> typechecker@2.0.8 preinstall /usr/local/lib/nodejs/node-v8.16.0-linux-x86/lib/node_modules/code-push-server/node_modules/extract-opts/node_modules/typechecker

> node ./cyclic.js



> typechecker@2.0.8 preinstall /usr/local/lib/nodejs/node-v8.16.0-linux-x86/lib/node_modules/code-push-server/node_modules/extendr/node_modules/typechecker

> node ./cyclic.js


/usr/local/lib/nodejs/node-v8.16.0-linux-x86/bin/code-push-server -> /usr/local/lib/nodejs/node-v8.16.0-linux-x86/lib/node_modules/code-push-server/bin/www

/usr/local/lib/nodejs/node-v8.16.0-linux-x86/bin/code-push-server-db -> /usr/local/lib/nodejs/node-v8.16.0-linux-x86/lib/node_modules/code-push-server/bin/db

+ code-push-server@0.5.4

added 440 packages from 498 contributors in 25.962s

 

 

 

四、初始化数据库

$ code-push-server-db init --dbhost "127.0.0.1" --dbport "3306"  --dbuser "root" --dbpassword "12345678"
 

五、编辑code-push-server的config.js配置文件和process.json

config.js 

  • local.storageDir 改为本身本地目录且保证当前用户有读写权限(推荐使用root用户)
  • local.downloadUrl 替换 127.0.0.1 为本机ip,其实这里不用改,后面用Nginx反向代理127.0.0.1:3000 -> https://your-domain/code-push-server
  • common.dataDir 改为本身本地目录且保证当前用户有读写权限
  • jwt.tokenSecret 从 https://www.grc.com/passwords.htm网站中获取随机串替换INSERT_RANDOM_TOKEN_KEY
  • db 配置数据库也就是第4步中的初始化信息: username,password,host,port
process.json
  • script 指向你安装的目录,经过npm安装code-push-server后控制台中会显示此地址 code-push-server/bin/www
  • CONFIG_FILE 指向config.js绝对路径

六、

相关文章
相关标签/搜索