前言
- CodePushServer 提供了熱修復的服務端揖铜,可以讓我們自定義安裝和部署。(文檔地址)
安裝
文檔中提供了兩種安裝方式顶滩,一種是Docker叶洞,一種是自己手動安裝鲫凶。我這里使用的是自己手動安裝所有配置。
安裝 PM2
使用 PM2 來管理包衩辟。
$ sudo npm i -g pm2
安裝數(shù)據(jù)庫
這里使用的是 mysql數(shù)據(jù)庫螟炫,安裝過程就不描述了,大家自行安裝艺晴。
注意:mysql8.x默認auth caching_sha2_pasword不支持node-mysql2 (issue)
安裝 code-push-server
官網(wǎng)上支持兩種方式昼钻,但是我在實踐中發(fā)現(xiàn)使用npm安裝一直不成功掸屡,所以使用的源碼安裝。
$ git clone https://github.com/lisong/code-push-server.git
$ cd code-push-server
$ npm install
初始化數(shù)據(jù)庫
$ code-push-server-db init --dbhost "your mysql host" --dbport "your mysql port" --dbuser "your mysql user" --dbpassword "your mysql password"
或
$ ./bin/db init --dbhost "your mysql host" --dbport "your mysql port" --dbuser "your mysql user" --dbpassword "your mysql password"
輸出 success 就說明數(shù)據(jù)庫安裝成功了
配置
安裝成功后需要配置 config.js 和 process.json文件然评。config.js主要是用來配置數(shù)據(jù)庫信息仅财,安裝包的存儲方式和安裝包的下載地址。process.json是用來配置啟動服務的信息碗淌。
config.js
config.js 的路徑:
$ cd code-push-server
$ vim config/config.js
- local.storageDir 修改為服務器上的路徑盏求,保證有讀寫權(quán)限,這個是用來保存打包好用來熱修復的文件贯莺。
- local.downloadUrl 將127.0.0.1 修改為你自己服務器的ip或域名风喇。
3.common.dataDir 修改為服務器上的路徑宁改,保證有讀寫權(quán)限缕探。
- jwt.tokenSecret 這個是用來加密和生成隨機串的一個字符串』苟祝可以從 https://www.grc.com/passwords.htm 這個網(wǎng)站上獲取爹耗。
5.db config 修改username,password,host,port
process.json
process.json 的路徑
$ cd code-push-server
$ vim docs/process.json
- script 修改為 "your source code dir"/bin/www
2.CONFIG_FILE 是 config.js 文件的絕對路徑
啟動服務
// 啟動
$ pm2 start process.json
// 重啟
$ pm2 restart process.json
// 停止
$ pm2 stop process.json
檢查是否成功
$ curl -I http://YOUR_CODE_PUSH_SERVER_IP:3000/
return httpCode 200 OK
補充
CodePushServer 除了支持將文件保存在服務器上,也支持將文件保存在云服務上谜喊。只需要修改config.js中的配置就可以潭兽。
支持的類型
- local (default)
- qiniu (qiniu)
- s3 (aws)
- oss (aliyun)
- tencentcloud
修改為oss
修改config.js文件
- common.storageType 修改為 oss
Snipaste_2019-02-27_16-57-23.png
- oss config,修改為自己在oss中的參數(shù)
Snipaste_2019-02-27_16-55-06.png