Skip to content

Electrode Over The Air Server for hot deployment of React Native and Cordova mobile apps

License

Notifications You must be signed in to change notification settings

awhelms/electrode-ota-server

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Electrode OTA Server

The Electrode OTA Server provides a way to hot deploy android and ios React Native™ and Cordova™ apps. The server is API compatible with code-push-cli, the Code Push React Native SDK and the Code Push Cordova SDK.

Upgrade

Version 3.3.0

Rewrite of mariadb module; simplify needed configuration to use the mariadb module.

        "electrode-ota-server-dao-plugin" : {
            "module" : "electrode-ota-server-dao-mariadb",
            "options": {
                "clusterConfig" : {
                    "canRetry" : true,
                    "defaultSelector" : "ORDER",
                    "removeNodeErrorCount" : 5,
                    "restoreNodeTimeout" : 0,
                },
                "poolConfigs" : [{
                    "database": "electrode_ota",
                    "host": "localhost",
                    "password": "ota",
                    "port": 33060,
                    "user": "ota",
                }],  
            }
        },

The underlying implementation uses the npm module mysql. The options are described in further detail in the module's readme.

The schema for mariadb is in the electrode-ota-mariadb-schema folder. The module does not use sequelize anymore, and the schema is created separately using liquibase.

Version 3.2.1

Version 3.2.1 adds support for MySQL/MariaDB. To use, enable logger, dao-factory, dao-mariadb, and disable dao-plugin and dao-cassandra. Connection settings can be specified under dao-mariadb.

    "electrode-ota-server-logger": {
      priority: 1
    },
    "electrode-ota-server-dao-factory": {
      priority: 5
    },
    "electrode-ota-server-dao-mariadb": {
      priority: 4,
      options: {
        host: "127.0.0.1",
        port: 3306,
        dialect: "mysql",
        db: "ota_db",
        user: "root",
        password: ""
      }
    },
    "electrode-ota-server-dao-plugin": {
      enable: false
    },
    "electrode-ota-server-dao-cassandra": {
      enable: false
    },

Version 2

Version 2 adds partial update support. To do this it requires some alterations to the cassandra database. This will happen automatically, unless the configuration to the electrode-ota-dao-cassandra is configured as

 "electrode-ota-server-dao-cassandra": {
                "options": {
                    ...
                    "disableTTYConfirmation": false,
                    //this is alter by default.
                    "migration": "safe",
                }
            }
 }

Make sure to backup your data, while not known to cause data loss, it is possible.

OTA: Overview

Installation

For configuration instructions visit the electrode.io

 npm i electrode-ota-server

Upload Size

To increase the max upload size, add this to your configuration:

"electrode-ota-server-routes-apps" : {
            options : {
                payload : {
                    maxBytes : 94371840
                }                
            }
        }

Development

To run tests, make sure you have localhost.walmart.com mapped to 127.0.0.1 loopback. To build..

> lerna bootstrap

To run test..

> yarn test

Apache-2.0 © WalmartLabs
Built with ❤️ by Team Electrode @WalmartLabs.

About

Electrode Over The Air Server for hot deployment of React Native and Cordova mobile apps

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 66.0%
  • TypeScript 31.8%
  • Shell 1.0%
  • CSS 0.7%
  • HTML 0.3%
  • PLSQL 0.1%
  • PLpgSQL 0.1%