Jenkins自动编译Android Studio创建的工程
前提Jekins服务器所在的Ubuntu上安装下列软件Android SDK - 记住版本号,后面需要在Gradle脚本中设置Android SDK Build-toolsAndroid SDK PlatformAndroid Support Library - for eclipse build/font>Android Support Repository - for andro
·
前提
- Jekins服务器所在的Ubuntu上安装下列软件
- Android SDK - 记住版本号,后面需要在Gradle脚本中设置
- Android SDK Build-tools
- Android SDK Platform
- Android Support Library - for eclipse build
- Android Support Repository - for android studio build
- 这里做个约定SDK安装在系统 /home/jenkins/tools/android/sdk 路径下: 以 jenkins 用户身份为 Owner
- Gradle 参考 Ubuntu之安装Gradle
- 增加Gradle编译AS工程需要的环境变量 ANDROID_HOME
sudo -u jenkins -H vim /home/jenkins/.profile
add : export ANDROID_HOME=/home/jenkins/tools/android/sdk - 如果是Ubuntu 64位系统,而因为SDK的工具为32位的,所以需要安装附加库 - 参考 Ubuntu 64位机器上运行32位程序
- 如果使用的是Ubuntu默认安装的OpenJDK,那么编译时候可能会出现找不到 tools.jar 的错误,需要安装完整版的OpenJDK - 参考 Ubuntu默认安装OpenJDK没有tools.jar
- Android SDK - 记住版本号,后面需要在Gradle脚本中设置
Gitlab增加工程
root登录 http://gitlab.zjc.com
组test-group 下建立工程 test-android-studio-project
可以得到此项目的SSH地址:git@gitlab.zjc.com:dev-group/test-android-studio-project.git
使新工程支持 git review
命令
Gitlab上的管理员账户其SSH Key所在的用户为admin账户
$ su - admin
$ git clone git@gitlab.zjc.com:dev-group/test-android-studio-project.git
$ cd test-android-studio-project/
$ vim .gitreview
文件内容为:
[gerrit]
host=review.zjc.com
port=29418
project=test-android-studio-project.git
添加.gitreview到版本库
$ git add .
$ git commit . -m 'add .gitreivew file by admin'
$ git push origin master
$ exit
Gerrit克隆Gitlab上的新工程 test-android-studio-project
Gerrit上的管理员账户其SSH Key所在的用户为admin账户
Gerrit上创建新工程
$ su - admin
$ ssh -p 29418 admin@vzjc.com gerrit create-project test-android-studio-project
$ exit
Gerrit上新工程变为Gitlab上新工程的克隆库
$ cd /home/gerrit/gerrit/git
$ sudo -u gerrit -H rm -fr test-android-studio-project.git
$ sudo -u gerrit -H git clone --bare git@gitlab.zjc.com:dev-group/test-android-studio-project.git
修改在Gerrit系统的复制功能配置文件
$ sudo -u gerrit -H vim /home/gerrit/gerrit/etc/replication.config
在文件末尾添加:
[remote "test-android-studio-project"]
projects = test-android-studio-project
url = git@gitlab.zjc.com:dev-group/test-android-studio-project.git
push = +refs/heads/*:refs/heads/*
push = +refs/tags/*:refs/tags/*
push = +refs/changes/*:refs/changes/*
threads = 3
重新启动 Gerrit 服务
$ sudo /etc/init.d/gerrit restart
Jenkins上为新工程创建自动编译任务
用admin账户登录http://jenkins.zjc.com
创建新任务 test-android-studio-project
- Source Code Management : Git
- Repositories -> Repository URL : http://review.zjc.com:8082/p/test-android-studio-project.git
- Advanced ->Refspec->
refs/changes/*:refs/changes/*
- Branches to build -> Branch Specifier (blank for ‘any’) : $GERRIT_REFSPEC
- Build Triggers : Gerrit Trigger
- Trigger on : 点击 Add 分别添加 Patchset Created 和 Draft Published
- Dynamic Trigger Configuration
- Type Pattern : test-android-studio-project
- Branches : master
- Build
- Add build step -> Execute Shell
- Command : gradle clean build
- Add post build step -> E-mail Notification
- Recipients : admin@vzjc.com
- Add build step -> Execute Shell
用户使用工程、测试
$ git clone git@gitlab.zjc.com:dev-group/test-android-studio-project.git
放入Android Studio工程到此目录。注意:
- build.gradle 文件中要写 SDK 中存在的Platform和CompileTool和兼容库版本号
编译后的结果存在于 /var/lib/jenkins/jobs/test-android-studio-project/workspace/app/build/outputs/apk 中
编译的工作目录以及出错信息可以在 Jenkins系统上相应的位置看到
$ git add .
- 如果有必要,设置正确的 user.name 和 user.email
$ git commit -m 'android project' - s
$ git review
更多推荐
已为社区贡献4条内容
所有评论(0)