Skip to content

code-push-server 使用+一些需要注意的地方 #135

Description

@ciuji

Code Push Server

环境搭建

code-push-server 配置

  1. 初始化mysql数据库

    sample:

    code-push-server-db init --dbhost localhost --dbuser root --dbpassword Abc123456

    注:这里配置的东西需要在config.js中相对应。

  2. 修改code-push-server 的config.js配置

    参考config

    注意:每次修改完config之后需要重新启动code-push-server

    主要需要修改的配置项有:

    • common里面的storageType,dataDir
    • 对应的storagetype中的配置
    • 如果使用的是local,就需要修改storageDir和downloadUrl,不修改的话他就会自己创建相应文件夹,可能遇到无法创建的问题。
    • sample config.js:
      var config = {};
      config.development = {
        db: {
          username: process.env.RDS_USERNAME || "root",
          password: process.env.RDS_PASSWORD || "Abc123456",
          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
        },
        local: {
          storageDir: "/Users/i348909/tablee/workspaces/storage",
          downloadUrl: "http://10.130.229.22:3000/download",
          public: '/download'
        },
        common: {
          tryLoginTimes: 0,
          diffNums: 3,
          dataDir: "/Users/i348909/tablee/workspaces/data",
          storageType:  "local",
          updateCheckCache: false
        },
      config.development.log4js = {
        appenders: {console: { type: 'console'}},
        categories : {
          "default": { appenders: ['console'], level:'error'},
          "startup": { appenders: ['console'], level:'info'},
          "http": { appenders: ['console'], level:'info'}
        }
      }
      
      config.production = Object.assign({}, config.development);
      module.exports = config;
  3. 启动code-push-server

    code-push-server

code-push 配置

  1. 在code-push中登陆到code-push-server

    sample:

    code-push login 127.0.0.1:3000

    初始用户名:admin,初始密码:123456

    获取token后复制到命令行中,即可成功登陆。

  2. 在code-push中添加app

    sample:

    code-push app add CodePushDemo-andrioid android react-native

    注:android和ios需要分别添加

  3. 获取Deployment Key或查看Deployment Key

    sample:

    code-push deployment list CodePushDemo-android -k

    注:有两个key,分别是Staging环境和Production环境。

react-native项目配置和发布

  1. 修改info.plist和MainApplication.java

    这是应用配置最重要的地方,也是与使用微软的react-native-code-push不一样的地方,需要添加"YourCodePushServerUrl"来指向自己的服务器

    参考config react-native project

    sample:

    Android 修改 MainApplication.java 如下

    @Override
    protected List<ReactPackage> getPackages() {
    return Arrays.<ReactPackage>asList(
        new MainReactPackage(),
        new CodePush(
          "l373MdjxhXA0KNikVY6akGUvZwMF4ksvOXqog",
          MainApplication.this,
          BuildConfig.DEBUG,
          "http://10.130.229.22:3000"
          )
    );
    }
  2. 发布应用

    sample:

    code-push release-react CodePushDemo-android android
  3. 注意

    使用code-push要参考正确使用热更新

    !!!使用热更新,每次修改只需要修改js文件,然后就可以使用code-push发布了,不需要修改build.gradle中的版本号.如果修改了java或者objective-c,就不能使用热更新,必须重新发布。

可参考的详细流程

code-push和code-push-server

React Native应用部署/热更新-CodePush最新集成总结(新)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions