Jenkins+Gradle+Git實現安卓自動打包
阿新 • • 發佈:2019-02-10
公司長時間存在開發為測試手動打包的情況,不僅影響平常開發的效率,也給我帶來了很多不必要的痛苦和麻煩,然後就在專案閒餘時間做了一個以jenkins為基礎+gradle+git的自動化打包的平臺。先看下我的GUI介面
配置完環境之後一建化構建:
之後就可以直接在蒲公英平臺通過掃描二維碼就可以直接下載:
首先需要下載jenkins,下載之後把jenkins.war放到tomcat的webapp目錄下
在瀏覽器輸入第一次的需要註冊,安裝外掛直接傻瓜式按步驟操作就可以了。在操作完成之後就會進入到這個頁面
接下來需要做這幾點事情,配置jdk和gradle,因為我使用的是git的分支管理還需要配置git。在系統管理裡面的Global Tool Configuration
因為我git和jdk本地都有就直接配置的是我本地的目錄。因為我本地沒有安裝gradle就直接在jenkins下安裝了gradle。然後回到主介面->新建->構建一個自由風格的專案建立一個自己的job:
第二步:需要配置build.gradle的的檔案:
JENKINS_TIME和IS_JENKINS分別是我從我jenkins裡面定義的引數,由於我還沒有用到JEKINSTIME這個引數所以這個地方只是寫了下,所以就沒有在jenkins裡面配置這個引數。IS_JENKINS:這個引數定義了我輸出的目錄,然後我實在gradle.properties裡面定義了這幾個引數:
第三步:配置jenkins的引數開始
首先看下我構建的引數列表
具體就要看裡面的怎麼配置這些引數:通過左側的選單項選擇配置進入配置頁面
在配置介面點選引數化構建選項–>>新增引數選項:點選chioce選項新增第二個引數
引數名稱必須跟在gradle定義的名稱一致。然後依次新增其他引數
我這裡使用的是String paramter這個引數。可以對照我的構建引數的列表介面新增自己需要的引數,但是這裡的引數如果有在build.gradle裡面用到,必須使用的引數名一致。最後的選擇git分支的引數
在這個引數有個高階設定可以設定預設的git分支。
然後設定git原始碼的url,由於我使用的git版本控制工具,如果你使用的是svn的話,就要去百度一下,怎麼去設定svn的分支控制。
然後需要在jenkins修改引數之後,在gradle構建之前拿到設定的引數修改我本地的環境配置,在程式碼拉取下來之後通過shell指令碼修改我本地檔案的環境配置,在構建選單–>>增加構建步驟選項–>>Execute shell選項。
修改完專案環境之後就要執行我們gradle去構建我們的專案,在構建選單中–>>增加構建步驟選項–>>invoke Gradle script選項。選擇我之前安裝的gradle的名稱,填入gradle的命令進行build
最後在下面那個選項打勾,意思是,之前設定的那些引數作為gradle構建的引數。在完成所有的之後,點選儲存,返回到之前的構建頁面,在左側的選單選項有一個build paramaters引數化構建,在右側會出現我們的引數頁面,設定好之後點選構建就可以把包輸出到在build.gradle裡面設定的路徑下。基本到這裡,jenkins自動打包構建基本就結束了,但是這還不是我最終的目的,在成功打出包之後,我想把包上傳到我的蒲公英上,讓測試人員通過二維碼直接下載,只需要簡單的一步。在蒲公英的文件上是這樣說的。
接下來在增加構建步驟–>>extecute shell。增加一個選項執行curl命令,將自己的u_key和api_key輸入進去,就可以將輸出的包傳輸到蒲公英的平臺