Jenkins搭建實現Android自動打包(Windows版)v3.0


 

1.軟件安裝與配置JDK8+Android SDK+Gradle4.4

 

1.1 安裝與配置JDK8

 
(1)新建->變量名"JAVA_HOME",變量值"C:\Java\jdk1.8.0_05"(即JDK的安裝路徑)
(2)編輯->變量名"Path",在原變量值的最后面加上“;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin” 
(3)新建->變量名“CLASSPATH”,變量值“.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar”

1.2 安裝更新開發的版本Android SDK Manager

test_for_gerrit_android:[Android SDK Build-Tools 27.0.3, Android SDK Platform 27]
antstorm_AD_Screen:     [Android SDK Build-Tools 26.0.2, Android SDK Platform 25]

Android SDK Manager 無法獲取更新版本列表,更新下載服務器:
改網址為:mirrors.neusoft.edu.cn 端口:80

查看開發使用的什么SDK版本開發的apk?在Jenkins server目錄下

C:\Program Files (x86)\Jenkins\workspace\test android\app build.gradle SDK-version

1.3 Android SDK環境變量配置(設置PC的系統環境變量)

ANDROID_HOME : F:\SDK
Path:%ANDROID_HOME%\tools

1.4 下載使用Gradle 4.4

  • 下載地址:http://services.gradle.org/distributions/
  • 下載gradle-x.x-all.zip解壓到本地

1.5 Gradel環境變量-系統變量設置:

 GRADLE_HOME : F:\Gradel version\gradle-4.4
 Path:;%GRADLE_HOME%\bin
 打開cmd,輸入gradle -version看到對應版本,說明配置成功,如下圖

Gradle-version

關於Gradle版本選擇配置的說明:
  • 最好使用開發項目中對應的版本,高版本也是可以的;下面路徑文件查看:
  • 在Jenkins的工作區項目文件夾下,查看gradle-wrapper.properties文件最后一行
  • C:\Program Files (x86)\Jenkins\workspace\AD_Screen\AntStorm\gradle\wrapper gradle-version-path

2.在本地和Jenkins打包的命令,以及簽名加固

2.1 在本地使用Gradle命令打包代碼成為.apk

  • 首先你要先確認本地打包是ok的,再去Jenkins配置
  • 打包的apk在路徑 C:\Program Files (x86)\Jenkins\workspace\android825\app\build\outputs\apk

 

 cmd切換路徑到代碼工程路徑,開始是在user\Administrator
 cd c:\
 cd C:\Program Files (x86)\Jenkins\workspace\test android
 gradle build
一些常用的命令解說(in cmd)
  • gradle build 檢查依賴並編譯打包,打2個包版本: release and debug
  • gradle assembleDebug 編譯並打Debug包 (測試時候使用這個包進行測試)
  • gradle assembleRelease 編譯並打Release的包(Jenkins打的這個包還沒有簽名加固,然后使用360加固寶簽名,再放到生產)

2.2 使用360加固寶.exe簽名release包,生產環境使用這個

 詳情請參考360加固寶使用教程...

2.3 在Jenkins的Task里面運行腳本命令輸入:

  • 清除之前的build編譯release and debug
  • 也可以不用加clean,那么它不會清除之前的,你可以手動刪除,看開發配置沒有,配置了的話每個apk最后標記會有當時的時間,release是配置了的,debug沒有,這里我們建議手動刪除再去Jenkins運行Job,因為我沒有配置clean;如果你手動刪除了,那么我Jenkins配置了clean他會找不到需要clean的包而報錯。

 

clean build

打包debug

clean build assembleDebug

打包release

clean build assembleRelease

3.安裝Jenkins,搭建本地服務器

  • Jenkins下載地址:http://jenkins-ci.org/
  • 運行Jenkins安裝程序

3.1 把管理員密碼copy到輸入框

password1

密碼路徑
 
C:\Program Files (x86)\Jenkins\secrets\initialAdminPassword
密碼:xxxxxxxxxxx,是一串數字和字母的字符串

3.2 安裝選--->推薦插件--->等待自動安裝完畢---> Install done

Jenkins-Plugins

3.3 Jenkins本地訪問地址(公司局域網用戶,訪問IP地址):
 http://192.168.2.236:8080/,or,http://localhost:8080/

3.4 配置代碼SSH賬戶

  • 使用GIT工具在本機生成:公鑰+私鑰的命令(為了安全性)
  • 只要在當前PC運行生成一次即可,如果把JOB刪除了,找到路徑重新配置即可
  • 當然你得在此coding項目下,擁有coding代碼相關訪問權限
運行如下命令,第一次會要求輸入你的coding代碼倉庫賬戶的密碼
ssh-keygen -t rsa -C "youmai@inc.com"

SSH

3.5 如上Git工具生成公鑰和私鑰后,位置會顯示在命令行里面:使用文本打開-全部復制到對應項

C:\Users\Administrator\.ssh

SSH KEY

3.6 配置公鑰id-rsa.pub到coding網站(個人設置-SSH公鑰)

  • 登錄你的coding代碼倉庫,找到setting/keys地方配置ssh
  • 名字任意,你添加和刪除key都會收到阿里mail

3.7 配置私鑰id-rsa到Jenkins賬戶里面

在Job配置賬戶憑據里面,選擇SSH的項,username可以任意輸入,再把私鑰id-rsa內容全部復制到privete key,注意是全部哦!其他不填寫

Private KEY

4.Jenkins服務器持續集成配置

4.1 安裝Jenkins插件,為需要的插件做准備!已安裝插件打✔
  • 安裝方式也比較簡單,直接在Jenkins的插件管理頁面搜索上述插件,點擊安裝即可
  • 插件安裝地址 http://localhost:8080/pluginManager/available

 

 1.GIT plugin ✔
 2.SSH Credentials Plugin (coding代碼倉庫賬戶key匹配使用)✔
 3.Git Changelog Plugin: 獲取倉庫提交的commit log  (選的這個了Git Changelog ✔)
 4.build-name-setter:用於修改Build名稱✔
 5.description setter plugin:用於改Build描述信息,在描述信息中增加顯示QRCode(二維碼)
   description setter選2個description setter+Project Description Setter ✔
 6.Post-Build Script Plug-in:在編譯完成后通過執行腳本實現一些額外功能(PostBuildScript ✔)
 7.Xcode integration: iOS專用(可選)✔
 8.Gradle plugin: Android專用(可選)✔

4.2 檢查git能否把coding server的代碼拉取到本機:

  • 在本地新建文件夾,存代碼的位置,然后拖動路徑到git為切換到此路徑
  • 使用工具Git Bash拉取代碼到這個path,如果結果成功,表示賬戶和拉取是ok的

 

 git clone git@e.coding.net:axx/project-name.git

4.3 Jenkins系統設置(系統管理--系統設置)

系統設置地址 http://localhost:8080/configure
ANDROID_HOME: F:\android sdk 24
GRADLE_USER_HOME: F:\Gradel version\jenkins-gradle-cache
ANDROID_HOME這個也是和電腦系統環境變量中的參數一致的

Global env

4.4 全局工具配置

  • 地址 http://localhost:8080/configureTools/
  • 需要配置JDK+Git.exe+Gradle4.4的路徑在Jenkins
  • 備注:如果開發的app- gradle-wrapper.properties中的gradle是4.1版本,不影響的;其他默認不選擇 glob-tools-config
注: Gradle plugi4.4是取的名字,可以任意;會在后面Nvoke Gradle SCRIPT選擇中調用此插件版本

5.新建Job配置

 

5.1 新建項目

crate-job

5.2 源碼管理

把coding項目中的SSH鏈接copy到此處

SSH-link

5.3 配置項目coding賬戶:

  選擇SSH的項,任意username,再把私鑰id-rsa內容復制到privete key,其他不填寫
  私鑰路徑 C:\Users\Administrator\.ssh

pri-key

5.4 填寫Repository URL:

  git@e.coding.net:xx/project-name.git
Credentials:你自定義的那個username,2者顯示ok,不報錯說明正確
Repository URL你也可以填寫https的方式,就不用配置ssh秘鑰了,直接輸入賬戶密碼去拉取codes

5.5 構建

選擇項:Invoke Gradle SCRIPT--->Invoke Gradle
選擇安裝的命名的Gradle版本4.4,Gradle plugin是在全局工具配置取的名字
Tasks填寫為 clean build --stacktrace--debug
Root Build script填寫為 ${WORKSPACE}
Build File填寫為 ${WORKSPACE}/build.gradle

Invoke-Gradle-SCRIPT

 

其他高級設置-可以不設置

  • 定時構建-觸發job的時間的set(可選設置,我們可以讓Jenkins server在某個時間自動運行)
  • https://blog.csdn.net/zzy1078689276/article/details/77520441/
  • https://blog.csdn.net/walid1992/article/details/51493271
遇到的一些問題
  • 1.需要關閉本機防火牆all
  • 2.JDK版本不能太高10.0.2,更換為JDK8
  • 3.use開發版本的 Gradel 4.4-all
  • 4.Android 8.1.0(API 27)應該和開發的版本保持一致性,在Android SDK Maneger下載對應的
  • 5.Jenkins新建gradle download 存儲空間,解決報錯
  • 6.Jenkins console log多處,查詢百度解決
  • 7.查看自己所需的gradle文件版本C:\Program Files (x86)\Jenkins\workspace\testapk\gradle\wrapper

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM