安装
- code-push代码下载到本地:git clone https://github.com/lisong/code-push-server.git
- cd code-push-server
- npm install
- 解决跨域访问:npm install cors
- 在app.js中加入
var cors = require('cors') app.use(cors());
## 配置 - 修改配置文件
- cd config
- vim config.js
- 主要需要的修改部分如下,需配置mysql及文件存储路径 ``` config.development = { // Config for database, only support mysql. db: { username: process.env.RDS_USERNAME || “root”, password: process.env.RDS_PASSWORD || “123456”, database: process.env.DATA_BASE || “codepush”, host: process.env.RDS_HOST || “127.0.0.1”, port: process.env.RDS_PORT || 3306, dialect: “mysql”, logging: false, operatorsAliases: false, }, // Config for local storage when storageType value is “local”. local: { // Binary files storage dir, Do not use tmpdir and it’s public download dir. storageDir: process.env.STORAGE_DIR || “/home/codepush/storage”, // Binary files download host address which Code Push Server listen to. the files storage in storageDir. downloadUrl: process.env.LOCAL_DOWNLOAD_URL || “http://47.240.2.128:3000/download”, // public static download spacename. public: ‘/download’ }, jwt: { // Recommended: 63 random alpha-numeric characters // Generate using: https://www.grc.com/passwords.htm tokenSecret: process.env.TOKEN_SECRET ||’B4BDA53DEE90AD2AE2BC59C54CB54DA676DAB13F8EF7B258FC85EC8839E91FA0’ }, common: { codePushWebUrl:”http://127.0.0.1:3001”, // data dir for caclulate diff files. it’s optimization. dataDir: process.env.DATA_DIR || “/home/codepush/data”, }, }
- 初始化code-push-server的MySQL数据库:./bin/db init --dbhost "127.0.0.1" --dbport "3306" --dbuser "root" --dbpassword "123456"
- 创建process.json配置文件
{ “apps” : [ { “name” : “code-push-server”, “max_memory_restart” : “300M”, “script” : “/www/code-push-server/bin/www”, “instances” : “max”, //开启实例数量,max为cpu核数 “exec_mode” : “cluster”, //集群模式,最大提升网站并发 “env” : { “NODE_ENV” : “production”, “PORT” : 3000, “CONFIG_FILE” : “/www/code-push-server/config/config.js” } } ] } ``` - 启动:pm2 start process.json - 通过ip:3000可以访问code-push管理端
更新code-push-server
- git pull –rebase origin master
- ./bin/db upgrade –dbhost “127.0.0.1” –dbport “3306” –dbuser “root” –dbpassword “123456”
- pm2 restart code-push-server # restart service
参考资料
CodePush(搭建自己的推送服务) react-native-code-push进阶篇 CodePush热更新详细接入教程