{"id":14988457,"url":"https://github.com/lisong/code-push-server","last_synced_at":"2025-05-13T21:10:34.911Z","repository":{"id":38361512,"uuid":"54013034","full_name":"lisong/code-push-server","owner":"lisong","description":"CodePush service is hot update services which adapter react-native-code-push and cordova-plugin-code-push - 热更新","archived":false,"fork":false,"pushed_at":"2025-02-16T05:42:16.000Z","size":1815,"stargazers_count":1860,"open_issues_count":178,"forks_count":574,"subscribers_count":61,"default_branch":"master","last_synced_at":"2025-04-28T17:02:41.027Z","etag":null,"topics":["code-push","code-push-server","cordova","react-native"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lisong.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-03-16T08:16:34.000Z","updated_at":"2025-04-23T08:57:19.000Z","dependencies_parsed_at":"2023-11-28T15:27:29.460Z","dependency_job_id":"1f220b11-49db-4190-ad92-99db82b9f4fb","html_url":"https://github.com/lisong/code-push-server","commit_stats":{"total_commits":335,"total_committers":13,"mean_commits":25.76923076923077,"dds":0.07761194029850749,"last_synced_commit":"0dde12b08719c870ece46861a821ad923ee3c7ef"},"previous_names":[],"tags_count":46,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lisong%2Fcode-push-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lisong%2Fcode-push-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lisong%2Fcode-push-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lisong%2Fcode-push-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lisong","download_url":"https://codeload.github.com/lisong/code-push-server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254029002,"owners_count":22002283,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["code-push","code-push-server","cordova","react-native"],"created_at":"2024-09-24T14:16:44.328Z","updated_at":"2025-05-13T21:10:29.892Z","avatar_url":"https://github.com/lisong.png","language":"JavaScript","readme":"# CodePush Server [source](https://github.com/lisong/code-push-server) \n\n[![NPM](https://nodei.co/npm/code-push-server.svg?downloads=true\u0026downloadRank=true\u0026stars=true)](https://nodei.co/npm/code-push-server/)\n\n[![NPM Version](https://img.shields.io/npm/v/code-push-server.svg)](https://npmjs.org/package/code-push-server)\n[![Node.js Version](https://img.shields.io/node/v/code-push-server.svg)](https://nodejs.org/en/download/)\n[![Linux Status](https://img.shields.io/travis/lisong/code-push-server/master.svg?label=linux)](https://travis-ci.org/lisong/code-push-server)\n[![Windows Status](https://img.shields.io/appveyor/ci/lisong/code-push-server/master.svg?label=windows)](https://ci.appveyor.com/project/lisong/code-push-server)\n[![Coverage Status](https://img.shields.io/coveralls/lisong/code-push-server/master.svg)](https://coveralls.io/github/lisong/code-push-server)\n[![Dependency Status](https://img.shields.io/david/lisong/code-push-server.svg)](https://david-dm.org/lisong/code-push-server)\n[![Known Vulnerabilities](https://snyk.io/test/npm/code-push-server/badge.svg)](https://snyk.io/test/npm/code-push-server)\n[![Licenses](https://img.shields.io/npm/l/code-push-server.svg)](https://spdx.org/licenses/MIT)\n\nCodePush Server is a CodePush progam server! microsoft CodePush cloud is slow in China, we can use this to build our's. I use [qiniu](http://www.qiniu.com/) 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.\n\n\n## Support Storage mode \n\n- local *storage bundle file in local machine*\n- qiniu *storage bundle file in [qiniu](http://www.qiniu.com/)*\n- s3 *storage bundle file in [aws](https://aws.amazon.com/)*\n- oss *storage bundle file in [aliyun](https://www.aliyun.com/product/oss)*\n- tencentcloud *storage bundle file in [tencentcloud](https://cloud.tencent.com/product/cos)*\n\n## 正确使用code-push热更新\n\n- 苹果App允许使用热更新[Apple's developer agreement](https://developer.apple.com/programs/ios/information/iOS_Program_Information_4_3_15.pdf), 为了不影响用户体验，规定必须使用静默更新。 Google Play不能使用静默更新，必须弹框告知用户App有更新。中国的android市场必须采用静默更新（如果弹框提示，App会被“请上传最新版本的二进制应用包”原因驳回）。\n- react-native 不同平台bundle包不一样，在使用code-push-server的时候必须创建不同的应用来区分(eg. CodePushDemo-ios 和 CodePushDemo-android)\n- react-native-code-push只更新资源文件,不会更新java和Objective C，所以npm升级依赖包版本的时候，如果依赖包使用的本地化实现, 这时候必须更改应用版本号(ios修改Info.plist中的CFBundleShortVersionString, android修改build.gradle中的versionName), 然后重新编译app发布到应用商店。\n- 推荐使用code-push release-react 命令发布应用，该命令合并了打包和发布命令(eg. code-push release-react CodePushDemo-ios ios -d Production)\n- 每次向App Store提交新的版本时，也应该基于该提交版本同时向code-push-server发布一个初始版本。(因为后面每次向code-push-server发布版本时，code-puse-server都会和初始版本比较，生成补丁版本)\n\n\n### shell login\n\n```shell\n$ code-push login http://api.code-push.com #登录\n```\n\n### [web](http://www.code-push.com) \n\n访问：http://www.code-push.com\n\n### client eg.\n\n[ReactNative CodePushDemo](https://github.com/lisong/code-push-demo-app)\n\n[Cordova CodePushDemo](https://github.com/lisong/code-push-cordova-demo-app)\n\n## HOW TO INSTALL code-push-server\n\n- [docker](https://github.com/lisong/code-push-server/blob/master/docker/README.md) (recommend)\n- [manual operation](https://github.com/lisong/code-push-server/blob/master/docs/README.md)\n\n## DEFAULT ACCOUNT AND PASSWORD\n\n- account: `admin`\n- password: `123456`\n\n## HOW TO USE\n\n- [normal](https://github.com/lisong/code-push-server/blob/master/docs/react-native-code-push.md)\n- [react-native-code-push](https://github.com/Microsoft/react-native-code-push)\n- [code-push](https://github.com/Microsoft/code-push)\n\n\n## ISSUES\n\n[code-push-server normal solution](https://github.com/lisong/code-push-server/issues/135)\n\n[An unknown error occurred](https://github.com/lisong/code-push-server/issues?utf8=%E2%9C%93\u0026q=unknown)\n\n[modify password](https://github.com/lisong/code-push-server/issues/43)\n\n\n# UPDATE TIME LINE\n\n- targetBinaryVersion support\n  - `*` \n  - `1.2.3`\n  - `1.2`/`1.2.*`\n  - `1.2.3 - 1.2.7`\n  - `\u003e=1.2.3 \u003c1.2.7`\n  - `~1.2.3`\n  - `^1.2.3`\n\n\n## Advance Feature\n\n\u003e use google diff-match-patch calculate text file diff patch\n\n- support iOS and Android\n- use `\"react-native-code-push\": \"git+https://git@github.com/lisong/react-native-code-push.git\"` instead `\"react-native-code-push\": \"x.x.x\"` in `package.json`\n- change `apps`.`is_use_diff_text` to `1` in mysql codepush database\n\n## License\nMIT License [read](https://github.com/lisong/code-push-server/blob/master/LICENSE)\n\n\n","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flisong%2Fcode-push-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flisong%2Fcode-push-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flisong%2Fcode-push-server/lists"}