感謝上文作者的辛苦付出
本文簡歷在已經(jīng)成功運(yùn)行 微軟 codepush熱更新蕊程,并且了解codepush 相關(guān)指令的基礎(chǔ)上刹勃。
簡介
code-push-server是一個開源項(xiàng)目,基于 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
一鍵安裝 毫無壓力
設(shè)置mysql密碼
進(jìn)入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的圖標(biāo),點(diǎn)擊進(jìn)入并啟動即可涕刚。
二嗡综、本地安裝code-push-serve
作者發(fā)布了兩種安裝方式(npm安裝或源碼安裝),在此我推薦使用源碼安裝杜漠,因?yàn)楹笃谖覀円谶@個服務(wù)修改自己的網(wǎng)頁极景,源碼安裝方便些。
首先進(jìn)入項(xiàng)目準(zhǔn)備安裝的目錄執(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ù)晨缴,項(xiàng)目根目錄(code-push-server)下執(zhí)行命令
./bin/db init --dbhost localhost --dbuser root --dbpassword #初始化mysql數(shù)據(jù)庫
上述無報錯即可進(jìn)行下一步
三、配置服務(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查看睛竣,默認(rèn)用戶名密碼是 admin 123456
四晰房、項(xiàng)目與服務(wù)建立鏈接
進(jìn)入reactnative 項(xiàng)目根目錄執(zhí)行命令查看當(dāng)前是否登錄,因?yàn)槭切路?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)登錄賬戶,則我們要先注銷當(dāng)前賬號
code-push logout
成功注銷后執(zhí)行登錄指令猖吴,瀏覽器會自動打開本地服務(wù)登錄頁面摔刁,命令行中會提示輸入key
code-push login http://localhost:3000
輸入賬號和密碼 admin
123456
登錄后點(diǎn)擊按鈕 獲取token
并復(fù)制token到命令行中,并回車確認(rèn)
Successfully logged-in. //提示此表示登錄成功
至此我們已經(jīng)將codepush和我們自建的服務(wù)器關(guān)聯(lián)起來了.
五海蔽、注冊應(yīng)用
項(xiàng)目根目錄下執(zhí)行
code-push app add Trip-ios //項(xiàng)目名+iOS/android后綴
六共屈、項(xiàng)目中修改對應(yīng)的key
查看key
code-push deployment ls Trip-ios
將Staging
值修改到對應(yīng)的iOS或安卓項(xiàng)目中并重新打包安裝
七、發(fā)布更新
進(jìn)入項(xiàng)目根目錄執(zhí)行以下命令党窜,表示打包并發(fā)布拗引,默認(rèn)發(fā)布在開發(fā)環(huán)境
code-push release-react Trip-ios ios
成功后即可打開app驗(yàn)證。