色婆ijqwj 发表于 2017-6-8 09:20:04

Centos 7 使用jenkins 打包android项目

1.配置java环境



在sun官网下载,解压后放入/usr/java下,并配置环境变量如



vi /etc/profile 在最底部加入如下配置(注:添加环境变量,都是在文件最底部添加)





JAVA_HOME=/usr/java/jdk1.7.0_80

PATH=$JAVA_HOME/bin:$PATH

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME

export PATH

export CLASSPATH



修改完后执行 source /etc/profile更新



2.配置android sdk



在https://developer.android.com/studio/index.html 最下面的 仅获取命令行工具,选择android-sdk_r24.4.1-linux.tgz进行下载,完成后解压到/home下。

解压完成后需要更新sdk,进入sdk下的tools目录。

执行 ./android update sdk -h 查看命令说明,

我的更新方式为:

./android update sdk -u -t add-on,extra,platform,platform-tool,tool





关于android的命令问题,由于系统是64位的,android的命令是32位,所以需要安装32位的支持

参考地址http://blog.csdn.net/qianlong4526888/article/details/8780171

也可以参考这个,关于ndk的配置,不过我没配置ndk

http://7dot9.com/2012/12/13/centos-64%E4%BD%8D%E6%9C%BA%E5%99%A8%E9%85%8D%E7%BD%AEandroid-sdk%E5%92%8Cndk%E7%8E%AF%E5%A2%83/





yum install zlib.i686



yum whatprovides libstdc++.so.6



yum install libstdc++-4.8.5-4.el7.i686



然后配置环境变量



export ANDROID_SDK_HOME=/home/android-sdk-linux

export PATH=$ANDROID_SDK_HOME/tools:$ANDROID_SDK_HOME/platform-tools:$PATH



修改完后执行 source /etc/profile更新



3.配置gradle



我们项目使用的是2.10版本,直接使用如下地址下载



https://services.gradle.org/distributions/gradle-2.10-all.zip

下载完成后解压到/opt目录下,并配置环境变量



export GRADLE_HOME=/opt/gradle-2.10

export PATH=$GRADLE_HOME/bin:$PATH



修改完后执行 source /etc/profile更新



4.安装jenkins



在官网https://jenkins.io/选择centos下载,然后到了rpm packages列表的页面

按照上面的命令执行:
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import http://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install jenkins

不懂的地方可以查看https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Red+Hat+distributions

jenkins默认端口号是 8080,可以在配置文件修改

配置文件的位置: /etc/sysconfig/jenkins

同时注意,需要在防火墙配置jenkins端口



5.配置jenkins



第一次进去按照要求输入密码,安装插件时选择推荐安装的那些。



初始化完之后,在左上角选择进入 Global Tool Configuration

分别把jdk,gradle配置好,至于git是已经装好了的,如下图







接下来,需要配置git的 Credentials

由于是获取gitlab上的代码,需要配置用户(注:如果是gitlab需要将本机的ssh 公钥配置到分配的账号上)



填上在gitlab上分配的账号密码,自己定义id和描述,点击OK



准备工作已经做完,接下来就是配置任务了:

在首页点击新建,自定义个任务名称,然后类型选择自由风格的软件项目,点击OK。



下面就是任务的配置参数:
  填上git地址,针对gitlab的,推荐选择https开头的地址,避免ssh的一系列权限问题


同时选择需要拉取的分支



触发器我配置的是每10分钟就执行一次





构建时选对gradle版本,我打的是debug包



  然后保存就ok了,任务会按照配置的触发器执行。第一次可能会失败,请参看注意事项。




注意事项:





第一次拉取代码的时候,由于文件local.properties没有放入版本管理,需要自己新建,并配置sdk:



sdk.dir=/home/android-sdk-linux



关于jenkins中途出现如下问题
2.10\taskArtifacts\cache.properties.lock (Access is denied)

我的解决方法是:直接删除了整个项目,同时也将用户目录下的.gradle/caches清空,重新执行任务

需要自己新建local.properties文件配置sdk目录
页: [1]
查看完整版本: Centos 7 使用jenkins 打包android项目