安裝
-
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熱更新詳細接入教程