Android Studio 集成 TFS,實現安卓移動開發的持續集成和交付(DevOps)

目錄html

1 集成TFS系統.... java

    1.1 概述.... android

    1.2 安裝TFS插件.... git

        1.2.1 在線安裝方式.... github

        1.2.2 離線安裝方案.... android-studio

    1.3 常見操做....服務器

        1.3.1 新建Git庫....網絡

        1.3.2 在Android Studio上克隆代碼庫... oracle

        1.3.3 鏈接VSTS. app

    1.4 導入代碼(TFS)....

        1.4.1 導入到TFS.

        1.4.2 導入到VSTS.

    1.5 提交修改....

    1.6 同步(推送)....

    1.7 克隆代碼庫到本地...

2 持續集成....

    2.1 安裝代理服務器....

    2.2 配置和運行生成定義....

3 常見問題....

    3.1 運行出現「Please select android SDK」

    3.2 沒法經過用戶認證....

    3.3 沒法下載中文團隊項目集合中的Git庫..

    3.4 打開代碼庫的速度特別慢...

    3.5 Before building your project, you need to accept the license agreements and complete the installation of the missing components using the Android Studio SDK Manager

1 集成TFS系統

1.1 概述

Android Studio是安卓應用程序開發的官方集成開發工具(IDE),它是基於IntelliJ IDEA的一個開發軟件。咱們能夠從安卓的官方網站找到更多關於它的資料:http://developer.android.com/tools/studio/index.html

TFS是微軟的DevOps解決方案,實現了包括需求管理、編碼開發、測試、持續集成和發佈等全流程的研發管理,並支持主流開發工具和開發語言的技術支持。爲了在Android Studio中實現軟件研發管理,微軟發了基於Android Studio的TFS插件https://github.com/Microsoft/vso-intellij/ 。這個插件容許您以無縫和直觀的方式鏈接到Visual Studio團隊服務(Git)和Team Foundation Server(TFS)上的Git存儲庫。你也可使用這個插件來導入您的Android開發項目爲VSTS或建立拉要求在VSTS / TFS Git倉庫。你也可使用這個插件建立和管理TFS服務器中的拉取請求。

下面咱們來介紹在Android Studio中如何使用這個插件。

1.2 安裝TFS插件

1.2.1 在線安裝方式

能夠經過瀏覽插件庫,從Android Studio中在線安裝VSTS插件。

1 在Android Studio中, 打開插件的設置窗口:

l Linux: from the File menu, select Settings... then Plugins

l Mac: from the Android Studio menu, select Preferences... then Plugins

l Windows: from the File menu, select Settings... then Plugins

2.點擊Browse repositories... 按鈕,並在搜索框中搜索"Visual Studio Team Services".

3.點擊Install plugin 按鈕,並從新啓動Android Studio.

操做方式以下:

image

Figure 55 – 打開設置窗口

image

Figure 56 – 安裝VSTS插件

1.2.2 離線安裝方案

- 從Android Studio插件庫(http://plugins.jetbrains.com/plugin/7981?pr=androidstudio)下載插件

- 從本地安裝:File > Settings > Plugins > Install plugin from disk…

image

Figure 57 – 從本地磁盤中安裝VSTS插件

1.3 常見操做

1.3.1 新建Git庫

使用Android Studio鏈接TFS服務器,首先須要在TFS服務器上新建代碼庫,上傳一套已經存在的代碼。(你也能夠參考後面的操做導入一套代碼,並新建一個Git代碼庫。)

image

Figure 58 – 在TFS服務器上新建代碼庫

image

Figure 59

1.3.2 在Android Studio上克隆代碼庫

image

Figure 60 – 從TFS服務器上下載/克隆代碼到本地計算機

image

Figure 61 – 輸入TFS服務器地址,並按要求輸入帳戶、密碼

image

Figure 62

(點擊Clone之後,代碼沒有克隆到本地目錄,也沒有提示錯誤)

若是出現上面的錯誤,是因爲目前的版本存在一個Bug,不能解決非Unicode編碼的URL,我已經和微軟產品組溝通確認,並有產品組建立了一個問題https://github.com/Microsoft/vso-intellij/issues/132 ,用於跟蹤問題解決的進展。

目前解決的方案是儘可能確保Git地址欄中沒有中文字符,或者使用命令行方式克隆代碼。

1.3.3 鏈接VSTS

鏈接VSTS的方式與TFS基本一致,須要咱們已經註冊了VSTS的帳戶。例如我使用本身的帳戶zhanghongjun@msn.com登陸VSTS之後,插件會自動羅列個人Git代碼庫。

image

Figure 63

image

Figure 64 – 選擇一個代碼庫,克隆代碼到本地計算機

image

Figure 65

1.4 導入代碼(TFS)

1.4.1 導入到TFS

在Android Studio中打開一個本地項目

image

Figure 66

image

Figure 67

image

Figure 68

image

Figure 69

1.4.2 導入到VSTS

image

Figure 70 - 後面的方法和TFS基本一致

1.5 提交修改

image

Figure 76

1.6 同步(推送)

image

Figure 77

image

Figure 78

1.7 克隆代碼庫到本地

image

Figure 80

image

Figure 81

2 持續集成

2.1 安裝代理服務器

配置Android編譯代理服務器,至少須要下面的環境:

1) Windows Server 2016(或其餘支持TFS 2018的代理服務器的操做系統,例如Win 2012)

2) Java環境開發包(JDK)

3) 安卓開發包(ADK)

4) TFS代理服務器

下面是配置代理服務器的方法和步驟

1) 安裝JAVA SDK

安裝JDK的方法和其餘開發工具的方法同樣,從官方網站下載Windows 64位的壓縮包:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

- 下載之後解壓到代理服務器的相關目錄中,例如:C:\java\jdk1.8.0_91

- 並配置環境變量 JAVA_HOME,值爲:C:\java\jdk1.8.0_91

- 將路徑% JAVA_HOME %\bin添加到環境變量PATH的值中

Figure 84 – 環境變量:JAVA_HOME、ANDROID_HOME

2) 安裝Android SDK

- 從官方網站https://developer.android.com/studio/index.html 下載最新版本的Android SDK,並解壓到代理服務器的相應目錄中。

你也能夠下載完整版本的Android Studio,其中包含了SDK。我在部署的過程當中,因爲須要在代理服務器上調試安卓代碼,就採起了安裝Android Studio的方式安裝SDK。

- 配置環境變量ANDROID_HOME

例如路徑:C:\Users\tfsadmin\AppData\Local\Android\Sdk

- 將下列路徑添加到環境變量Path的值中:

n %ANDROID_HOME%\tools

n %ANDROID_HOME%\platform-tools

3) 安裝TFS代理程序

- 從微軟官方下載最新版本的代理程序

https://github.com/Microsoft/vso-agent

並將代理程序解壓縮到代理服務器的任一目錄中

- 在命令行窗口中配置代理程序

Configure.bat

4) 驗證代理程序

代理程序安裝成功後,咱們能夠在TFS服務器的管理界面中查詢到代理服務器,也能夠查詢到代理服務器上Android SDK版本,以下圖:

image

Figure 85 – TFS管理界面中的代理

2.2 配置和運行生成定義

在配置生產定義以前,首先須要簡單理解一下Gradle(https://gradle.org/)這個編譯工具。

Gradle是一個基於JVM的構建工具,是一款通用靈活的構建工具,支持maven, Ivy倉庫,支持傳遞性依賴管理,而不須要遠程倉庫或者是pom.xml和ivy.xml配置文件,基於Groovy,build腳本使用Groovy編寫。在功能上,Gradle與常見的ant、maven、msbuild等比較類似,爲用戶提供很是強大的編譯功能。

Android Studio原生配置了Gradle編譯工具,建立項目時,開發工具會自動建立Gradle須要的配置文件和編譯腳本;在開發過程當中,也會根據軟件功能的變化自動修改Gradle編譯腳本。

TFS 2018中自帶了Gradle的編譯模板,能夠爲Android軟件快速建立編譯工做流程。下面咱們來介紹如何在TFS 2018中創爲Android代碼建立Gradle生成定義:

image

Figure 87 – 新建生成定義

image

Figure 88 – 選擇系統提供的Gradle生產模板

image

Figure 89 – 選擇生產代理所在的代理隊列

image

Figure 90 – 因爲我須要輸出的文件是app安裝文件APK,將默認的jar修改成apk,生成流程會自動將輸出的文件發佈到生產結果中

在個人測試中,生產過程當中沒有其餘任務須要執行,就能夠保留目前的默認設置,點擊「保存並排隊」,TFS就會啓動剛纔定義的生成流程,以下圖:

image

Figure 91 – 保存並排隊

第一次啓動生成流程,因爲編譯過程當中須要根據項目的配置要求獲取所需的Gradle版本,咱們必須確保代理服務器處於聯網狀態。例如個人實驗代碼須要Gradle 4.1版本(以下圖)。

image

Figure 92

若是代理服務器不能聯網,須要咱們手工下載對應的Gradle版本,並將其複製到代理服務帳戶所在的.Gradle目錄中,例如我使用tfsservice啓動代理服務,則須要將gradle-4-1-all.zip文件下載並複製到這個目錄中(C:\Users\tfsservice\.gradle\wrapper\dists\gradle-4.1-all)。注意,不須要解壓縮文件。

當所需的Gradle版本下載完成之後,TFS會自動運行生成腳本,並完成後續的編譯任務,例如個人生產定義中的複製、發佈等任務,以下圖:

image

Figure 93 – 生產過程當中的實時記錄

生成成功後,咱們就能夠在生產結果中,點擊「項目」,查看到生成輸出的APK文件,以下圖:

image

Figure 94 – 生成的輸出文件

3 常見問題

3.1 運行出現「Please select android SDK」

因爲從新從服務器上克隆的代碼庫,修改了本地代碼庫的路徑,出現上面的錯誤。

解決方法參考下面的鏈接:

https://stackoverflow.com/questions/34353220/android-studio-please-select-android-sdk

Tools -> Android -> Sync Project with Gradle Files (Android Studio 3.0.1)

3.2 沒法經過用戶認證

安裝IIS的基本認證功能,並在IIS中爲team foundation server/tfs啓用基本認證功能。

3.3 沒法下載中文團隊項目集合中的Git庫

當Git服務器的URL中包含非Unicode的編碼字符時,將TFS插件致使TFS插件克隆或者導入失敗。已經向微軟產品組反饋,並確認爲缺陷,在開發網站中建立了用於跟蹤問題的Bug https://github.com/Microsoft/vso-intellij/issues/132

3.4 打開代碼庫的速度特別慢

TFS服務器運行在虛擬機中,從物理機訪問代碼庫特別慢。

解決辦法:斷開物理機鏈接其餘網絡的網卡。

3.5 Before building your project, you need to accept the license agreements and complete the installation of the missing components using the Android Studio SDK Manager.

須要在命令行模式下接受受權

image


微軟ALM MVP 張洪君 http://www.cnblogs.com/danzhang

--End--


-

相關文章
相關標籤/搜索