Ionic3 自動發布

本文主要介紹使用Jenkins實現app應用的自動打包發布。每次執行jenkins任務的時候,大概流程如下:打包app應用》將app應用作為郵件附件發送給件給客戶。
不管你想體驗Jenkins自動化部署帶來的便捷,還是學習Jenkins 自動部署 app 這門技巧,這篇文章都適合你。如果恰好你所開發的app是在內部使用的,不需要每次都通過qq還是什么方式發送給客戶,Jenkins幫你一鍵搞定。

Jenkins安裝

推薦使用簡單的安裝方法

下載地址:https://jenkins.io/download/ 選擇下載war包

image01.png

下載之后,準備好一個tomcat,然后將下載的war包放到 tomcat的webapps目錄下,然后啟動tomcat,這時候tomcat會自動解壓這個war包。
在啟動的過程中,會提示輸入密碼,這個密碼我暫時不知道干嘛的,參照提示輸入就好了:
image02.png

這時候在瀏覽器中輸入: localhost:8081/jenkins,會提示你輸入密碼,將命令行中的密碼拷貝進去就好了。輸入密碼之后,進入到選擇安裝插件的界面,有兩種方式,一種是建議安裝,一種是自定義安裝,直接選擇建議安裝。然后就是等待安裝插件:
image03.png

安裝插件之后,提示創建用戶:
image04.png

創建用戶之后:
image.png

image.png

至此Jenkins安裝完成。

創建Jenkins任務

進入jenkins首頁后,點擊創建一個新任務。

image.png

接下來進入到詳細配置界面。

補充描述信息


image.png

配置代碼倉庫,這里選擇git


image.png

省略這兩個步驟


image.png

構建


image.png

image.png

保存之后跳轉到enkins首頁,運行我們剛剛創建的任務:

image.png

同時,可以查看日志:


image.png

image.png

按理來說,我們是希望可以正常的打包出一個apk文件了,但是很不巧,失敗了。下面來分析一下原因。

我們知道我們的ionic項目是利用npm進行包管理的,npm是根據package.json文件安裝依賴的。我們利用jenkins進行打包的時候,僅僅是從git上拉下了代碼,下載需要的哪些jar包,這是一個原因。還有另外一個原因,我們打包apk文件的時候,是需要依賴SDk和安卓平臺的,安卓平臺我們一般是通過執行 ionic cordova platform add android 命令來添加,但是我們不可能把這個提交到git上,要不然這個項目太大了。這個時候,我們可以在 jenkins 構建的時候 執行這兩個命令:
npm install 和 ionic cordova platform add android
這樣確實可以,但是太慢了,每次執行 jenkins命令的時候執行上面兩個命令,會浪費好多時間,得不償失,那就找一個這折中的辦法。在使用這種方法之前,先分析一下Jenkins執行 命令的 流程,這個過程可以通過日志分析出來,以下是在執行jenkins命令時候的日志:


image.png

有這個日志就足夠了,通過日志發現,jenkins有一個工作目錄,在執行命令的時候創建的(第一次執行的時候創建,執行之后不會自動刪除),目錄的路徑就是 當前用戶/jenkins/任務名稱。Jenkins在執行命令之前,會先從git上下載代碼到這個目錄,然后再執行命令。既然知道這個 那就 很簡單那了 。我們可以第一次手動再這個目錄下執行 npm install 和 ionic cordova pllatform add android 這兩個命令,這樣再打包的時候 就不會報錯了。在執行這 兩個 命令之后,再執行jenkins命令,通過日志可以發現,打包成功了,生成了apk文件。


image.png

image.png

同時,在 jenkins工作目錄下,可以找到剛剛打包的apk文件。

image.png

發送郵件設置

在 成功打包apk文件之后,希望可以將apk文件通過郵件的形式發送給客戶 ,客戶在郵件中直接下載附件 即可。
首先需要先配置好jenkins的郵件 發送功能。進入首頁,點擊系統管理:

image.png

然后再點擊 系統設置


image.png

需要發送郵件,有這么幾個選項需要配置:


image.png

系統管理員地址其實就是發送方的郵件地址
image.png

而且上面哪些參數一定要注意,寫錯一個可能就發送 失敗了
image.png

可以看到郵件發送成功,說明基本的郵件發送設置完成。

項目發送郵件

郵件通知的全局設置配好以后就可以在具體的項目中應用發送郵件通知了。首先需要安裝插件,在系統管理→插件管理→可選插件 搜索找到 Email Extension Plugin 安裝好后,點開要配置的項目配置。

image.png

image.png

配置收件人地址列表


image.png

如上,在任務構建 異常的時候就會發送郵件,為了看到效果,可以故意將上面的兩個 命令寫錯,這樣在構建的時候就會報錯。
image.png

然后執行構建任務并 查看日志


image.png

然后去 收件箱查收郵件
image.png

至此,項目發送發送郵件完成。

郵件全局配置

可以利用Email Extension Plugin插件全局配置發送郵件的基本配置。如果是在第一次打開jenkins主頁的時候,選擇安裝了它建議安裝的插件,那么這個插件已經有了,其它情況 不太清楚,如果沒有就自己安裝一下插件。配置方法如下:
首頁:系統管理 》系統設置
找到Email Extension Plugin 設置

image.png

這是基本配置,還有個高級設置,點擊 “ 高級”


image.png

image.png

這個 和 “郵件通知” 中配置保持一致就好了


image.png

這個地方有個Default Triggers. 用來設置發送 郵件的出發條件。我的 配置 如下:
image.png

項目引用全局配置

在項目發送郵件的時候使用剛剛的 全局配置。先打開項目配置界面:

image.png

點擊構建后操作并且選擇Email Extension Plugin,如下所示:


image.png

image.png

image.png

如圖所示,這時候還的默認使用了 全局的一些配置。點擊保存,再次測試,構建任務。當任務執行成功之后,可以在收件箱查收郵件。因此在全局配置中設置了出發條件,always、success、fail。按理來說可以收到兩封郵件。


image.png

image.png

發現收件箱收到兩封郵件,測試成功。

項目自定義配置

如果該任務不想引用全局配置,需要自己定義配置怎么辦?這里也有個項目自定義功能,如圖:

image.png

點擊Advanced setting 即可自定義配置。而且這里的自定義配置,是根據觸發條件分別設置的:


image.png

針對不同的觸發條件,點擊高級即可自定義配置了


image.png

下面對 “success” 進行設置,每次利用jenkins打包成功后,將apk文件作為郵件的附件發送給客戶
image.png

路徑的選擇請參照下面的提示

保存之后執行構建任務,查看發件箱


image.png

郵件發送成功,附件發送成功。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,882評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,208評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,746評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,666評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,477評論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,960評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,047評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,200評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,726評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,617評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,807評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,327評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,049評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,425評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,674評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,432評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,769評論 2 372

推薦閱讀更多精彩內容