1. 程式人生 > >Jenkins自動構建ionic專案

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上的,且聽小編下次分享!