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
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版本選擇配置的說明:
- 最好使用開發項目中對應的版本,高版本也是可以的;下面路徑文件查看:
- 在Jenkins的工作區項目文件夾下,查看gradle-wrapper.properties文件最后一行
- C:\Program Files (x86)\Jenkins\workspace\AD_Screen\AntStorm\gradle\wrapper
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到輸入框
密碼路徑
C:\Program Files (x86)\Jenkins\secrets\initialAdminPassword
密碼:xxxxxxxxxxx,是一串數字和字母的字符串
3.2 安裝選--->推薦插件--->等待自動安裝完畢---> Install done
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"
3.5 如上Git工具生成公鑰和私鑰后,位置會顯示在命令行里面:使用文本打開-全部復制到對應項
C:\Users\Administrator\.ssh
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,注意是全部哦!其他不填寫
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這個也是和電腦系統環境變量中的參數一致的
4.4 全局工具配置
- 地址 http://localhost:8080/configureTools/
- 需要配置JDK+Git.exe+Gradle4.4的路徑在Jenkins
- 備注:如果開發的app- gradle-wrapper.properties中的gradle是4.1版本,不影響的;其他默認不選擇
注: Gradle plugi4.4是取的名字,可以任意;會在后面Nvoke Gradle SCRIPT選擇中調用此插件版本
5.新建Job配置
5.1 新建項目
5.2 源碼管理
把coding項目中的SSH鏈接copy到此處
5.3 配置項目coding賬戶:
選擇SSH的項,任意username,再把私鑰id-rsa內容復制到privete key,其他不填寫
私鑰路徑 C:\Users\Administrator\.ssh
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
其他高級設置-可以不設置
- 定時構建-觸發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