Jenkins自動構建ionic專案
1.原始碼管理:
從這裡拉去svn上最新版本的程式碼,@HEAD代表拉去最新版本的程式碼
2.構建
#!/bin/sh -l #npm install --unsafe-perm rm -rf node_modules/@types/jquery rm -rf node_modules/@types/node #ionic build --base-href ./ find /var/lib/jenkins/workspace/ExcellentIntegral_Front_prod/src -type f -path "*"|xargs sed -i 's/192.168.22.126/dmsdbj.com/g' find /var/lib/jenkins/workspace/ExcellentIntegral_Front_prod/src -type f -path "*"|xargs sed -i 's/192.168.22.52/dmsdbj.com/g' ionic build --prod rm -rf src
指令碼解釋:
#!/bin/sh –l
------shell指令碼的開頭,沒有特殊作用,但是必須填寫
rm -rf node_modules/@types/jquery
rm -rf node_modules/@types/node
-----這裡是因為抽獎的那裡引入了jQuery,和svn中node包重複,所以需要刪除這兩個包
find /var/lib/jenkins/workspace/ExcellentIntegral_Front_prod/src -type f -path "*"|xargs sed -i 's/192.168.22.126/dmsdbj.com/g'
find /var/lib/jenkins/workspace/ExcellentIntegral_Front_prod/src -type f -path "*"|xargs sed -i 's/192.168.22.52/dmsdbj.com/g'
------這裡是查詢替換的作用,因為svn中的程式碼連結後端寫的都是dev環境的,但是生產環境中做了外網對映,所以需要查詢src檔案下所有的地址,將其替換成dmsdbj.com,基本用法,使用即可
ionic build –prod
--使用生產環境打包可以讓打出來的www檔案體積較小,訪問較快
但是如果打包時報錯如下的話:(這裡的意思是page頁面被宣告多次)
解決方案如下:
參考資料:http://www.ionic.wang/article-index-id-117.html
1.將pages目錄裡面所有.module.ts檔案中declare裡面的*page刪除或者註釋
2. 找到對應的pages目錄裡面的所有元件 刪掉裡面的 @IonicPage()
此時用生產方式打包即可
rm -rf src
為了確保我們Jenkins構建後的程式碼都是svn上最新的,每次構建的最後把src在Jenkins伺服器上刪除
3.構建後操作
工程構建成功或者失敗將會給該使用者傳送相應郵件
Source files代表的是原始檔,remove prefix代表的是需要移除的檔案,remote directory代表的是要把檔案放到的地方。
這裡的意思是我們需要的檔案時www中的檔案,不需要www這個資料夾,所以我們需要把www檔案移除,如果不移除的話就會將www檔案一起移動到mobile中,所以進行了如上操作!
在Jenkins構建好的檔案需要放到Nginx我們前端才可以訪問,所以在Jenkins上進行如下操作,我們就可以訪問釋出的前端了!
具體如何釋出到Nginx上的,且聽小編下次分享!