基于 CentOS 使用 Jenkins 实现 Android 持续集成
2017-08-25 16:53
621 查看
环境说明
本次配置是基于 CentOS 的服务器环境进行的,Jenkins 环境已经搭建完成。本次说明仅限 Android 客户端的构建方式。配置方法
这里参见蒲公英的说明文档:环境
无论是什么系统,配置jenkins的配置是一样的安装 Jenkins
下载最新的版本(一个 WAR 文件)。官网下载地址运行 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,选定一个要编译的分支代码。 如下:
配置自动拉取最新代码
在构建触发器中,有两种自动拉取代码并编译的策略: 1. 设置Poll SCM,设置定时器,定时检查代码更新,有更新则编译,否则不编译。也可以设置Build periodically,周期性的执行编译任务。
配置gradle - android专用
如果安装gradle插件成功的话,应该会出现下图的Invoke Gradle script,配置如下:${WORKSPACE}表示当前job下的workspace目录,主要是存放代码。一般
${WORKSPACE}目录位于当前用户目录下,OS X 系统路径一般是
/Users/用户名/.jenkins/jobs/;更多的环境变量请参考文末附录。 这样,就能自动在project下的app的build/outputs/apk下生成相应的apk.
注意:编译失败?可能要解决以下2个问题:
gradle没配置环境变量。 比如我在/etc/profile中配置一下GRADLE_HOME:
也可以设置Build periodically,周期性的执行编译任务。 因为一般来说local.properties不会添加到版本库。 所以需要手动copy到${WORKSPACE}下的Project目录下(可参考自己Android Studio工程结构)。 关于local.properties的定义,这里记录一下,做个备份:
再编译一般就会编译成功,当然当那些第三方库需要重新下载的话,编译可能会很慢。
配置过程中的一些坑
CentOS 环境问题
没有 Android SDK ,需要手动下载 Android SDK 到服务器目录下:$ wget http://dl.google.com/android/android-sdk_r23-linux.tgz[/code]
下载后解压tar zxvf android-sdk_r23-linux.tgz,再通过android update sdk --no-ui -filter xxx更新升级 SDK 和 Build-Tools 版本。/lib64/libc.so.6: version GLIBC_2.14 not found
参见 : http://www.jiagoumi.com/work/811.html 配置过程中系统环境的坑最多,并且libc.so尽量小心操作,否则有可能对服务器带来毁灭性的破坏。
相关文章推荐
- Jenkins+Gradle+Git+Centos 实现android持续集成、打包(超详细)
- Jenkins+Gradle实现android开发持续集成、打包
- 使用 flow.ci 实现 Android 自动化测试与持续集成
- 基于Jenkins+git+gradle的android持续集成,jenkinsgradle
- 【移动端打包平台搭建】使用Jenkins搭建iOS/Android持续集成打包平台
- Jenkins构建Android项目持续集成之findbugs的使用
- Android基于各官方API实现分享功能(不使用第三方集成工具)
- 使用Jenkins搭建iOS/Android持续集成打包平台
- 使用 Jenkins 实现软件开发的持续集成
- 使用 Jenkins 搭建 iOS/Android 持续集成打包平台【转】
- 基于jenkins的持续集成使用指南
- 使用Jenkins搭建iOS/Android持续集成打包平台
- 基于Jenkins+git+gradle的android持续集成
- AndroidUiAutomator使用Jenkins搭建持续集成测试系统Ⅰ—Android UiAutomator以及快速编译方法
- 使用 flow.ci 实现 Android 自动化测试与持续集成
- 基于Jenkins+git+gradle的android持续集成
- 基于Jenkins+git+gradle+pgyer的android持续集成
- 基于Jenkins+git+gradle的android持续集成
- 在mac osx 下使用 Jenkins对Android 进行持续集成
- 【持续集成】使用Jenkins实现多平台并行集成