ideploy簡單易用的持續(xù)交付平臺
簡介
ideploy 是為前端團隊構(gòu)建部署工程化而開發(fā)的一個持續(xù)交付平臺。我們根據(jù)團隊人員,項目增長而面臨的越來越多在構(gòu)建,交付等日常工作中的痛點,設(shè)計了很多特有而簡單易用的功能,節(jié)省了團隊很多構(gòu)建部署的協(xié)調(diào)和 copy 體力工作,極大的提升了團隊的開發(fā)效率。隨著功能的完善,覺得這個系統(tǒng)可以幫助很多類似我們這樣成長中的前端團隊(當(dāng)然系統(tǒng)其實也是支持 java、php 等項目的部署的,通過插件編寫也可以支持 go 甚至更多語言的構(gòu)建部署)實現(xiàn)快速構(gòu)建,快速部署,放心上線。
技術(shù)棧
開發(fā)語言: nodejs
數(shù)據(jù)庫: mysql
后端框架: thinkjs
前端js框架 react
前端ui框架 ant.design
快速啟動 (只支持 linux )
git clone xxxxx.git 代碼到本地
安裝nodejs 依賴:在根目錄下運行npm install
安裝ansible (依賴ansible做部署前后的命令行執(zhí)行)
安裝mysql 數(shù)據(jù)庫,這里就不展開講了,具體請參考:mysql文檔
新建一個數(shù)據(jù)庫(名字自己取一個就行,比如fe_build),并且開放足夠的訪問權(quán)限,具體可以參考mysql文檔
-
代碼,通知郵件等訪問權(quán)限配置:
由于構(gòu)建部署系統(tǒng)需要從代碼倉庫(svn,git)拉取代碼,所以需要首先配置svn倉庫用戶名和密碼
打開src/common/config/config.js,分別填寫各項配置,具體如下:
export default { cvsUser: 'myuser',//svn用戶名 cvsPass: 'mypass',//svn密碼 emailHost: 'smtp.qq.com',//通知郵箱地址,這里用qq郵箱作為參考 emailport: 465,//端口 emailUser: '[email protected]',//郵箱賬號 emailPass: 'xxxxx',//郵箱授權(quán)碼(具體可以登錄mail.qq.com->設(shè)置->賬戶->POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務(wù)->生成授權(quán)碼獲取) cvsDir: '/temp',//svn代碼臨時保存目錄 port: 80 //服務(wù)器端口,就是部署平臺的web服務(wù)端口, }如果是git項目請保證部署機器能直接有訪問git的權(quán)限
-
代碼編譯,啟動
輸入命令以下命令進行編譯:
npm run build
編譯完成,運行以下名命令啟動:
npm run start
也可以用forever或者pm2來管理服務(wù),以forever為例:
npm install -g forever
項目內(nèi)置了forever的啟動和停止腳本:
./start.sh ./stop.sh
服務(wù)器起來以后,我們直接訪問
頁面自動跳到登錄注冊頁面,說明啟動成功:

-
導(dǎo)入數(shù)據(jù)庫腳本,生成數(shù)據(jù)庫基礎(chǔ)表結(jié)構(gòu) 這一步主要是為系統(tǒng)運行創(chuàng)建需要的數(shù)據(jù)庫表,為了方便大家使用,項目提供了一個web程序來建立表結(jié)構(gòu),直接輸入:
會出現(xiàn)如下界面,點擊‘確定導(dǎo)入數(shù)據(jù)庫表’生成數(shù)據(jù)庫。

當(dāng)然,也可以通過mysql 直接倒入數(shù)據(jù)庫表結(jié)構(gòu)文件,數(shù)據(jù)庫表文件是db/db.sql
