Jenkins+Gradle+Grovvy實現Android自動化構建及加固
上次配置了這個環境,也進行了測試,但忙於其他事情了,今日抽空總結一下。
Jenkins 下載與安裝配置
下載這裡提供兩種方式:
安裝配置
1.將下載的jenkins.war放到Tomcat下的webapps目錄下,然後啟動Tomcat。
2.在瀏覽器中訪問”Tomcat訪問地址/jenkins”即可安裝,因為我的Tomcat裝在本機,並且埠為8080,所以訪問http://localhost:8080/jenkins/即可進行安裝。
3.開啟瀏覽器訪問http://locahost:8080,首次執行會要求輸入管理員密碼,Jenkins在首次執行時生成的,會在控制檯打印出來或者按照頁面提示的檔案路徑檢視管理員密碼。如下圖
4.輸入密碼之後點選continue選擇要安裝的外掛
5.由於Jenkins的外掛之間存在依賴關係,並且Jenkins不會幫我們自動安裝依賴的外掛,所以外掛安裝過程比較容易出錯,所以我們建議自己選擇要安裝的外掛,不選擇Jenkins建議安裝的外掛。點選Select plugins to install進入下一個頁面(直接安裝建議的也沒啥,後期需要啥再自己補)
6.首先把預設選中的外掛都取消掉,然後選擇我們要安裝的外掛,對於Android打包來講一般需要的外掛有
_Active Directory plugin
_Build Pipeline Plugin
_Build Timeout
_build-name-setter
_CloudShell Sandbox Plugin
_Email Extension Plugin
_Git plugin
_GitHub plugin
_Gradle Plugin
_Groovy Events Listener Plugin
_Groovy Postbuild
_Pipeline
_PowerShell plugin
_Publish Over SSH
_SSH plugin
_Subversion Plug
_Timestamper
_Workspace Cleanup Plugin
如果外掛安裝過程中由於依賴關係造成安裝失敗,可以根據錯誤資訊先安裝依賴的外掛再重新安裝需要的外掛。(如果有找不到的也沒有關係)
7.外掛安裝完成之後按照提示建立一個管理員賬號即可使用,登入之後進行首頁面。
8.配置環境變數,需要配置的環境變數有Android Home、JDK目錄、Gradle目錄。
選擇系統配置→環境配置→全域性屬性
然後在系統配置→全域性工具配置
配置專案打包指令碼
專案的打包指令碼會在各自專案中自己生成,提交到svn(可以略過)
配置和安裝就完成了。
使用步驟
1.在Jenkins中點選新建,輸入Job名字,由於Jenkins會根據Job名字生成目錄所以建議使用英文不要使用中文,然後選擇構建一個自由風格的軟體專案,然後點選OK進入配置頁面
一般配置
原始碼管理(怎麼選擇看的很清楚)
構建
構建後操作
groovy指令碼重點解釋一下:
我這裡採用的是360加固
def space = " "
def JAVA = "java"
def jgJarPath = "D:/360jiagu/jiagu/jiagu.jar"//jar包路徑
def jar = "-jar" + space + jgJarPath
def login = "-login"
def username = "18130612068"//username
def password = "yfg8175349"//password
def importsign = "-importsign" //import sign
def keyStorePath = "D:/key/keystore.jks"//簽名路徑
def keyStroePassword = "ahhx965432"//keystore password
def alias = "key0" //alias
def alias_password = "ahhx965432" //alias password
def showSign = "-showsign" //show sign
def jiagu = "-jiagu" //jiagu
def inputAPKpath = "C:/Users/yfg10/.jenkins/workspace/test/build/output/release.apk" //input apk path
def outputPath = "D:/JenkinsWorkSpace/workspace/testjenkins" //output apk path
def autosign = "-autosign"//sign
def defaultJG = JAVA + space + jar + space
def loginJG = defaultJG + login + space + username + space + password
def signJG = defaultJG + importsign + space + keyStorePath + space + keyStroePassword + space + alias + space + alias_password
def showSignJG = defaultJG + showSign
def jiaguJG = defaultJG + jiagu + space + inputAPKpath + space + outputPath + space + autosign
String[] jiagus = Arrays.asList(loginJG, signJG, showSignJG, jiaguJG)
jiagus.each {
println "${it}"
Process process=it.execute();
println "${process.err.text}"
println "${process.text}"
}
加固包的路徑、使用者名稱、密碼、apk的簽名檔案路徑、密碼、別名、加密前後安裝包的路徑等需要自行修改。
(對應的加固包可在360加固官網下載,然後使用教程先用命令列加密,確保jar的可用性)
2.Job配置一共分為六個部分:General、原始碼管理、構建觸發器、構建、構建後操作,設定完成後,儲存,進入主面版
3.立即構建
4.點選專案任務進入控制檯介面檢視專案構建日誌資訊
5.在tomcat 日誌輸出日誌可以看到apk 加固資訊
6.最後,專案裡面的groovy 指令碼配置加固後的apk 輸出到指定路徑,直接在指定目錄(你的Jenkins的工作空間)就可以看到360加固後的apk。
寫在最後
寫的有點亂,歡迎指出錯誤和改正意見。