code-push搭建

安裝

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章