react native codepush之搭建自己的更新服務(wù)器

參考文章-code-push-server

感謝上文作者的辛苦付出

本文簡歷在已經(jīng)成功運行 微軟 codepush熱更新,并且了解codepush 相關(guān)指令的基礎(chǔ)上。

參考文章-iOS

參考文章-android

簡介

code-push-server是一個開源項目,基于 nodejs + mysql 搭建自己的熱更新服務(wù)器

環(huán)境

macOS Sierra 10.12.1

nodejs v4.3.1

mysql 5.6

一、安裝mysql(其他環(huán)境自行對應(yīng)mysql安裝)

推薦安裝 mysql 5.6

mysql 5.6下載地址

一鍵安裝 毫無壓力

設(shè)置mysql密碼

進入mysql安裝目錄,命令分步執(zhí)行

cd /usr/local/mysql/bin

./mysql -u root -p  //這一步是登錄root用戶 回車即可,5.6默人密碼為空

修改密碼

set password = password('輸入你的新密碼');  //引號不能省略
啟動mysql服務(wù)

打開 系統(tǒng)設(shè)置,在面板下會出現(xiàn)一個mysql的圖標,點擊進入并啟動即可。

mysql.jpeg

二、本地安裝code-push-serve

作者發(fā)布了兩種安裝方式(npm安裝或源碼安裝),在此我推薦使用源碼安裝,因為后期我們要基于這個服務(wù)修改自己的網(wǎng)頁,源碼安裝方便些。

首先進入項目準備安裝的目錄執(zhí)行以下命令(如果沒有安裝git 則可以去git上download下來解壓)

git clone https://github.com/lisong/code-push-server.git

clone完畢后執(zhí)行

cd code-push-server && npm install

修改config/config.js 文件,在 db 對象中添加數(shù)據(jù)庫信息,參考如下配置,對應(yīng)自己的用戶名密碼,數(shù)據(jù)庫名稱

db: {
    username: "root",   //
    password: "123456",
    database: "codepush",
    host: "127.0.0.1",
    port: 3306,
    dialect: "mysql"
  }

初始化服務(wù),項目根目錄(code-push-server)下執(zhí)行命令

./bin/db init --dbhost localhost --dbuser root --dbpassword #初始化mysql數(shù)據(jù)庫

上述無報錯即可進行下一步

三、配置服務(wù)器-存儲在本地

修改config/config.js

common 對象中的 storageType改為 local

新建文件存儲目錄 data,storage,并修改配置文件

local: {
    //此地址為以上新建的文件夾,自己對應(yīng)自己的路徑
    storageDir: "/Users/luozhong/work/reactNative/server/storage",
    //ip地址改成自己設(shè)備對應(yīng)的ip 這是下載地址 
    downloadUrl: "http://192.168.201.113:3000/download"
  }
  
 common: {
    //此地址為以上新建的文件夾,自己對應(yīng)自己的路徑
    dataDir: "/Users/luozhong/work/reactNative/server/data",
    storageType: "local"    //選擇存儲類型,目前支持local和qiniu配置
  }

啟動服務(wù)

./bin/www   //無報錯信息即為正常啟動,可以在瀏覽器中輸入 http://127.0.0.1:3000查看,默認用戶名密碼是 admin 123456

四、項目與服務(wù)建立鏈接

進入reactnative 項目根目錄執(zhí)行命令查看當前是否登錄,因為是新服務(wù),所以要先保證沒有別的賬號正在登錄

 code-push whoami

如果報錯如下,表示沒有登錄

[Error]  You are not currently logged in. Run the 'code-push login' command to authenticate with the CodePush server.

如果沒有報錯 并且顯示郵箱賬號,則表示已經(jīng)登錄賬戶,則我們要先注銷當前賬號

code-push logout

成功注銷后執(zhí)行登錄指令,瀏覽器會自動打開本地服務(wù)登錄頁面,命令行中會提示輸入key

code-push login http://localhost:3000

輸入賬號和密碼 admin 123456 登錄后點擊按鈕 獲取token 并復(fù)制token到命令行中,并回車確認

Successfully logged-in. //提示此表示登錄成功

至此我們已經(jīng)將codepush和我們自建的服務(wù)器關(guān)聯(lián)起來了.

五、注冊應(yīng)用

項目根目錄下執(zhí)行

code-push app add Trip-ios  //項目名+iOS/android后綴

六、項目中修改對應(yīng)的key

查看key

code-push deployment ls Trip-ios

Staging值修改到對應(yīng)的iOS或安卓項目中并重新打包安裝

七、發(fā)布更新

進入項目根目錄執(zhí)行以下命令,表示打包并發(fā)布,默認發(fā)布在開發(fā)環(huán)境

 code-push release-react Trip-ios ios

成功后即可打開app驗證。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容