基于 CentOS 使用 Jenkins 实现 Android 持续集成

前端之家收集整理的这篇文章主要介绍了基于 CentOS 使用 Jenkins 实现 Android 持续集成前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

环境说明

本次配置是基于 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 -> http://www.jb51.cc/tag/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 尽量小心操作,否则有可能对服务器带来毁灭性的破坏。

原文链接:https://www.f2er.com/centos/376164.html

猜你在找的CentOS相关文章