蒲公英文檔中心

使用 Jenkins 實現持續集成 (Android)

環境

無論是什么系統,配置 Jenkins 的配置是一樣的

安裝 Jenkins

  1. 下載最新的版本(一個 WAR 文件)。官網下載地址
  2. 運行 java -jar jenkins.war 注意:Jenkins 需要運行 Java 5以及以上的版本。

安裝Jenkins相關插件

點擊 系統管理->管理插件->可選插件,可搜索以下插件安裝

git插件(GIT plugin)

ssh插件(SSH Credentials Plugin)

Gradle插件(Gradle plugin) - android專用

Xcode插件(Xcode integration) - ios專用

新建Job

主頁面,新建 ->構建一個自由風格的軟件項目即可。 對于類似的項目,可以選擇 ->復制已有的Item,要復制的任務名稱里輸入其他job的首字符會有智能提示。

配置git倉庫

如果安裝了git插件,在源碼管理會出現Git,選中之后: Repositories -> https://github.com/**** 你的倉庫地址 如果是ssh還要配置Credentials。 Branch -> */master,選定一個要編譯的分支代碼。 如下:

![](http://static.pgyer.com/image/view/admin_images/16feb8866ac249f10cf194aa1d1b6e8b

配置自動拉取最新代碼

在構建觸發器中,有兩種自動拉取代碼并編譯的策略: 1. 設置Poll SCM,設置定時器,定時檢查代碼更新,有更新則編譯,否則不編譯。

設置自動拉取時間

  1. 也可以設置Build periodically,周期性的執行編譯任務。

設置編譯時間

配置 Gradle

如果安裝 Gradle 插件成功的話,應該會出現下圖的 Invoke Gradle script,配置如下:

添加構建

${WORKSPACE}表示當前job下的workspace目錄,主要是存放代碼。一般${WORKSPACE}目錄位于當前用戶目錄下,OS X 系統路徑一般是/Users/用戶名/.jenkins/jobs/;更多的環境變量請參考文末附錄。 這樣,就能自動在project下的app的build/outputs/apk下生成相應的apk。

注意:編譯失???可能要解決以下2個問題:

  1. Gradle 沒配置環境變量。 比如我在 /etc/profile 中配置一下 GRADLE_HOME

  2. 也可以設置 Build periodically,周期性的執行編譯任務。 因為一般來說local.properties不會添加到版本庫。 所以需要手動copy到${WORKSPACE}下的Project目錄下(可參考自己Android Studio工程結構)。

再編譯一般就會編譯成功,當然當那些第三方庫需要重新下載的話,編譯可能會很慢。

上傳到蒲公英平臺

  1. 使用命令上傳 apk 到蒲公英:

    curl -F "[email protected]/tmp/example.apk" -F "uKey=" -F "_api_key=" https://qiniu-storage.pgyer.com/apiv1/app/upload 
    

    上傳命令

  2. 使用 jenkins 插件上傳 apk 到蒲公英點擊查看使用方法

彩票中心新浪竞技风票