jenkins打包android
Ⅰ Android開發常用工具(一)
1、Android Studio
谷歌推出的Android集成開發工具,經過多年的迭代發展已經變得非常強大及人性化,各式各樣的工具插件滿足日常的開發需求,也可以自己製作工具插件,下載即可贈送SDK和JDK大禮包,並配置好環境變數,基本做到一鍵式開發。記得15年剛開始做開發時使用的是Eclipse,需要手動配置sdk,jdk,環境變數等,對於當時處於新手的我來說非常的繁瑣,也增加了時間成本。
2、Figma
UI製作查看工具,最近幾年比較火的UI設計軟體,使用起來就跟在線文檔一個感覺,設置許可權之後,只有美工人員可以進行編輯,而開發人員只能進行查看,裡面配置了Android、ios、css等不同平台所需要標注參數,方便不同平台開發人員查看,對比其它工具優點是打開查看UI非常方便,不需要像pxcook要先下載源UI文件,需要吐槽的是導出多尺寸圖片沒有Pxcook工具那樣方便,只能一張一張導出命名,可能是沒找到正確的使用方式,有懂的同學可以下方留言。
3、GitLab
用於代碼倉庫管理系統,使用Git作為管理工具,並在此基礎上搭建起來的Web服務。一般用於管理開發的業務主項目、開發自研的框架等,可以很方便查看遠程代碼倉庫以及組員的提交內容,也可以使用裡面的ci去構建自動化打包,但目前使用到的自動化打包構建方式還是Jenkins比較多點,ci配置需要許可權等問題。
4、Git
開源的分布式版本控制系統,同樣的工具還有svn(小烏龜),cvs等,用於代碼的提交拉取合並等。記得剛開始做開發時用的是svn,每次發布上線完一個版本後都要備份一份代碼在伺服器,開發過程中途如果遇到要緊急發布個小版本就可以通過備份的代碼進行開發發布小版本,非常不方便。直到後面用了git替代才發現原來這么的方便,git可以很方便拉取分支、切換分支、合並分支到主幹,再結合Gitlab、GitHub等倉庫管理系統進行可視化代碼管理,大大提高了效率。
5、Jenkins
基於java開發的一種持續集成工具,用於自動化打包apk到指定伺服器,測試人員通過鏈接下載apk進行測試。常規操作是將 Jenkins工具 部署
在遠程linux伺服器,將工程項目代碼、SDK、JDK等打包編譯需要的也配置到該伺服器,還要一份打包Apk上傳包到指定FTP的腳本,本地電腦通過web操作jenkins進行項目選擇分支選擇打包就可以。
未完待續
Ⅱ Jenkins打包後續:Shell腳本自動修改build號,並提交TestFlight
1、自動修改Build號,並生成提交,push到遠程分支上;
2、開始打Release包,並導出IPA文件;
3、利用Application Loader插件實現自動上傳。
前提:Jenkins相關配置已經完成,發布證書、本地Git用戶、push到Git上的許可權賬戶等都已配置完成,如果配置未完成,部分錯誤在後面會出現,再補上也OK。
(1)先取到當前Build號,Shell中讀取plist文件的方法比較簡單,利用的是Mac中操作plist文件的PlistBuddy,路徑在/usr/libexec/PlistBuddy下,這點在之前的文章中寫過: Jenkins 自動打包後打一個tag並同步到origin 。
(2)將版本號(示例:1.0.8.3)先分割字元串,取到最後一個元素(可能會是2位數字或者3位數字),然後把最後一個元素轉數字,再 +1 ,再轉回字元串。
(3)進行字元串拼接,最終效果:1.0.8.4
(4)將新的Build號寫入info.plist文件
(1)生成提交描述:
(2)到對應的Git目錄下進行Git操作
寫成兩個Shell步驟即可:
這點在之前的Jenkins文章中寫過了,主要是利用xcbuild命令去做的,這里要注意的就是打包的類型要又debug改為release即可。
Ⅲ 如何利用jenkins來做android自動化
如何利用jenkins來做android自動化
概述
持續集成是一種軟體開發實踐,即團隊開發成員經常集成他們的工作,通常每個成員每天至少集成一次,也就意味著每天可能會發生多次集成。每次集成都通過自動化的構建(包括編譯,發布,自動化測試)來驗證,從而盡快地發現集成錯誤。許多團隊發現這個過程可以大大減少集成的問題,讓團隊能夠更快的開發內聚的軟體。其中包含一些代碼靜態檢查工具,自動打包和自動測試功能。
持續集成流程
環境配置
啟動Jenkins
1、 安裝jdk
從略,建議1.6或以上版本,配置好環境變數。
2、 安裝tomcat
http://tomcat.apache.org/download-70.cgi
從略,安裝完調試下tomcat是否正常。
3、 安裝ant
http://ant.apache.org/bindownload.cgi
下載zip包,解壓後配置好環境變數。
4、 安裝jenkins
http://java.net/projects/hudson/downloads/directory/war
下載war包,命名為Jenkins,拷貝到tomcat/webapps目錄下。
5、 安裝Android SDK
http://developer.android.com/sdk/index.html
下載安裝,完成後配置好Android_SDK_HOME環境變數。此步驟主要用於進行android自動化測試,若不進行此項可略過。
安裝完成後啟動tomcat/bin/startup.bat文件(linux下是startup.sh),在瀏覽器輸入http://localhost:8080/jenkins,8080為tomcat埠,即可訪問jenkins伺服器。
配置Jenkins
1、 JDK配置
新增JDK,指定JDK名字和JAVA_HOME
2、 ANT配置
新增ANT,指定ANT名字和ANT_HOME
3、 Maven配置
從略,本文未使用到Maven,具體配置方法參考Google。
4、 Subversion
選擇1.6版本SVN,勾選Update default Subversion credentials cache after successful authentication
5、 郵件通知
填寫SMTP server、Default user E-mail suffix、System Admin E-mail Address、Jenkins URL、勾選Use SMTP Authentication,填寫User Name、Password、Use SSL、SMTP port、Chareset(UTF-8) 、Default Content Type(默認)、Default Recipients(默認收件人),配置完成後可進行測試郵件。
6、 Jenkins URL
配置該URL,用於別人訪問。
插件管理春瞎滲
1、 Hudson Subversion Plug-in,jenkins的svn插件。
2、 Android Emulator Plugin,android模擬器插件。
3、 JUnit Attachments Plugin,junit測試報告附件插件。
4、 Email-ext plugin,郵件擴展插件。此處說明下,默認Jenkins只會發送構建失敗的郵件,我們需安裝此插件才神謹能自定義不同場景。
5、 Deploy to container Plugin遠程發布插件。
自動化測試
打包源工程
Android程序
本小節講訴如何打包一個Android工程,當前使用的是ant進行編譯源碼。
1、 首先構建一個自由風格的Job。
2、 添加扒脊源碼路徑,選擇所使用的版本控制器,輸入源碼路徑。
3、 構建觸發器可根據需要選擇是否定時構建。
4、 構建環境,此處Jenkins安裝了Android Emulator Plugin插件,可以啟動已有模擬器或添加新的模擬器,本文案例中使用真機調試。
5、 構建,卸載手機中原程序 adb –s uninstall com.XXXXXX
6、 生成bulid.xml文件,-p後面跟工程所在的本地jenkins下路徑
android update project -n *** c:\被測工程Job路徑\workspace
7、 Ant進行編譯程序,並安裝到當前手機中
ant debug install -f c:\被測工程Job路徑\workspace\build.xml
8、 構建後操作,本案例中構建完成後自動啟動構建下一個測試Job
Bulid other projects,選擇測試工程的Job.
打包測試工程
Android程序
本小節講訴如何構建一個Android測試工程,包括郵件發送和測試報告展示。
1、 構建步驟1-7和Android程序章節一樣,從略。
2、 本文案例中測試程序是通過命令行啟動運行的,所以在此處增加一個批處理運行。P.S. adb shell am instrument -w -e class com.megafon.test.MegafonTest#testDeleteContact com.megafon.test/android.test.InstrumentationTestRunner ,此處是通過批處理來單獨運行一個個的測試用例。避免了Junit3的無序執行的問題。
3、 刪除Workspace中原來存在的測試報告文件,一般不刪除也會覆蓋。
如何讓測試程序生成xml格式的測試報告,其他文章會重點介紹。
4、 從手機中拷貝測試報告,最終測試是在手機上運行,所以報告也生成在手機中,使用adb pull命令把測試報告全部拷貝到workspace下制定目錄。
5、 構建後操作,發布測試報告,如果報告中包含附件,此處使用到JUnit Attachments Plugin插件。
6、 郵件通知,此處使用到Email-ext plugin插件,前面的默認,直接使用我們在系統管理裡面設置的默認值。
7、 點擊右下角高級按鈕,可選擇不同場景下發送郵件。
8、 測試結果展示,在本次構建的控制台可以顯示當前所有的構建日誌。
9、測試報告點擊Test Result可以顯示所有測試記錄。
z轉載,僅供參考,祝你愉快,滿意請採納。