SDK(Android)自動化打包方案

一、背景

作為SDK開發平臺,通常會集成包括文檔、SDK、UI組件(aar)、samplecode並打包個客戶集成開發。由於SDK內部參數配置會不一樣(為客戶定製的),版本也會不一樣也就沒辦法給客戶統一提供一個SDK。剛開始通過android studio手動給客戶打包,不僅耗時秏利,而且容易出錯,這時就急需一個可繼續集成的可視化的打包工具。這樣Jenkins自動打包就誕生了。

二、Jenkins持續化集成

1、需求

核心SDK:每個客戶都有一個唯一的標識ID;每個客戶分生產包和全真包,通過boolean變量標識

sampleCode :與SDK版本相對應的samplecode,需自動更改與客戶ID對應的applicationId、appkey

文檔:與SDK版本對應

UI組件:與SDK版本對應

2、配置

針對需求,我們就要進行配置了。

Git配置,根據版本定義包版分支,samplecode倉庫與SDK(包含文檔、UI組件)倉庫包版分支命名須一致,這樣產出才一致。

項目工程裡SDK所在module下,build.gradle增加buildType配置,如圖。

SDK(Android)自動化打包方案

buildType配置

Jenkins配置參數,與buildType對應需定義幾個個選擇參數:Git包版分支、客戶名稱、全真(生產)、是否包含UI組件、是否包含UI組件。

SDK(Android)自動化打包方案

Jenkins包版配置

Jenkins項目關聯配置,這裡有兩個Git倉庫,需將他們關聯起來,需要下載multiJob插件,下載完創建multiJob project,然後到multiJob project配置關聯即可。

SDK(Android)自動化打包方案

multiJob

3、腳本編寫

配置完成就可以構建了,要想產出所需的文件,需要寫腳本,可以選擇shell、Python等。這裡選擇了Python,腳本可以獲取Jenkins配置變量,將SDK,UI組件拷貝到samplecode相應目錄下,修改samplecode包名、appkey,最後打包打一個指定目錄,從這個目錄取出成果。


分享到:


相關文章: