最近公司開發了自己的app,研發過程中對於測試人員來說,經常會像開發的人員詢問,有沒有最新的包啊(apk打包后的新版本),以免你測試的時候,提交了一些缺陷,實際上人家已經解決了。當然你也可以說你們公司開發流程也太亂了。發布新版本不是應該按時,按計划的執行測試么。
實際情況確實是一天多個版本 或者好幾天給一個版本。(敏捷測試推行,但是推行的不是很到位時候就這樣)
這就有了一個痛點,我們測試人員能不能直接打包apk,並且把保持每天的版本都是最新的。
以安卓版本為例,ios,暫沒成功配置。
需求是我們希望能夠掃一掃就能安裝到手機,不用找開發的要apk 然后數據線什么的。。
無意中在testhome 看到一個帖子正好解決了這個問題。https://testerhome.com/topics/5285(主要內容看這帖子)
於是乎我就照着做了,真的挺不錯。
首先我們先講一下原理,jenkins 是一個持續集成的工具。能夠幫助我們從服務器上拉取最新的代碼,然后執行一些腳本命令,執行后,反饋結果。這一切都可以定時 按計划的進行。
這個需求核心的技巧就在如何打包成apk 並上傳到服務器,然后返回我們一個下載地址(二維碼)
也就是Jenkins build 這一步的命令。這里我要分享的是fir.im平台。這是一個內測應用平台。
用命令行就可以實現 打包 上傳apk 並返回一個二維碼。
我也只是補充一下這一段內容,因為文中提到的帖子其他內容很詳細了。
fir.im平台有個自己的工具https://github.com/FIRHQ/fir-cli,這個是基於ruby語言寫的。所以你需要配置ruby環境。
ruby裝好后 gem install fir-cli 類似python 中pip install 。當然你要保證你的ruby和gem版本為新版本。另外由於大家都懂的原因。你可能需要一個鏡像。http://gems.ruby-china.org/ 替換服務器地址后。下載才能繼續執行。
安裝好之后 這個命令就可以打包並上傳了。詳情見這里https://github.com/FIRHQ/fir-cli/blob/master/doc/build_apk.md
Token 是一個fir .im 平台識別的你身份信息的字符串。注冊並登錄后就可以獲取自己賬戶的token了
其實本質上 fir只是一層封裝,本質上還是用的gradle去打包apk。所以一旦報錯,按提示一步步解決,多半是sdk android的包不全,或者是gradle 配置不正確。
執行
想辦法用腳本放到服務器對應的位子就可以啦啦。 set build description 是個jenkins插件。