CodePush Server source
CodePush Server is a CodePush progam server! microsoft CodePush cloud is slow in China, we can use this to build our's. I use qiniu to store the files, because it's simple and quick! Or you can use [local/s3/oss/tencentcloud] storage, just modify config.js file, it's simple configure.
- local storage bundle file in local machine
- qiniu storage bundle file in qiniu
- s3 storage bundle file in aws
- oss storage bundle file in aliyun
- tencentcloud storage bundle file in tencentcloud
- Apple Apps allow hot updates according to Apple's developer agreement. To maintain a good user experience, silent updates are required. Google Play does not allow silent updates and requires a dialog to inform users about App updates. Chinese Android markets require silent updates (if a dialog prompt is shown, the App will be rejected with the reason "Please upload the latest version of the binary application package").
- React Native bundle packages are different for different platforms, so you must create different applications to distinguish them when using code-push-server (e.g., CodePushDemo-ios and CodePushDemo-android).
- React-native-code-push only updates resource files and does not update Java and Objective C. Therefore, when upgrading npm dependency package versions, if the dependency package uses native implementations, you must change the application version number (modify CFBundleShortVersionString in Info.plist for iOS, modify versionName in build.gradle for Android), then recompile the app and publish it to the app store.
- It is recommended to use the code-push release-react command to publish applications, as this command combines packaging and publishing commands (e.g., code-push release-react CodePushDemo-ios ios -d Production).
- Every time you submit a new version to the App Store, you should also publish an initial version to code-push-server based on that submission version. (This is because code-push-server will compare each subsequent version with the initial version to generate patch versions.)
$ code-push login http://api.code-push.com #login
Visit: http://www.code-push.com
- docker (recommend)
- manual operation
- account:
admin
- password:
123456
code-push-server normal solution
- targetBinaryVersion support
*
1.2.3
1.2
/1.2.*
1.2.3 - 1.2.7
>=1.2.3 <1.2.7
~1.2.3
^1.2.3
use google diff-match-patch calculate text file diff patch
- support iOS and Android
- use
"react-native-code-push": "git+https://[email protected]/lisong/react-native-code-push.git"
instead"react-native-code-push": "x.x.x"
inpackage.json
- change
apps
.is_use_diff_text
to1
in mysql codepush database
MIT License read