环境说明

本次配置是基于 CentOS 的服务器环境进行的,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,选定一个要编译的分支代码。 如下:

配置自动拉取最新代码

在构建触发器中,有两种自动拉取代码并编译的策略: 1. 设置Poll SCM,设置定时器,定时检查代码更新,有更新则编译,否则不编译。

  1. 也可以设置Build periodically,周期性的执行编译任务。

配置gradle - android专用

如果安装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工程结构)。 关于local.properties的定义,这里记录一下,做个备份:

再编译一般就会编译成功,当然当那些第三方库需要重新下载的话,编译可能会很慢。


配置过程中的一些坑

CentOS 环境问题

  • 没有 Android SDK ,需要手动下载 Android SDK 到服务器目录下:
$ wget http://dl.google.com/android/android-sdk_r23-linux.tgz

下载后解压 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 尽量小心操作,否则有可能对服务器带来毁灭性的破坏。

更多相关文章

  1. 【生命周期】Android中Activity的生命周期
  2. react-native的兼容性(Android、Ios)
  3. Android单元测试—UI测试(Espresso)
  4. Android解析中国天气接口JSon数据,应用于天气查询
  5. Android自带音乐播放器代码分析(1)
  6. parse push 消息推送学习笔记(Android消息推送解决方案 备选)
  7. android中使用gif
  8. Android(安卓)Tween动画之RotateAnimation实现图片不停旋转
  9. Android窗口标题显示操作

随机推荐

  1. android ImageButton示例
  2. android(NDK+JNI)---Android使用JNI实现J
  3. Android属性动画使用浅析
  4. Android开发学习之基本控件概览
  5. Android Studio 第六十四期 - Android业
  6. android源码
  7. Anbox:容器中的_Android
  8. Android学习路线指南
  9. 全程不用usb数据线,adb通过网络连接Androi
  10. Android SDK开发Android应用