Jenkins+Gradle+Git+Centos 实现android持续集成、打包(超详细)

继上一篇文,这回分享下使用jenkins+gradle给android打包,服务器环境是centos7.1

首先,对于新服务器,你可能需要依次安装jdk 、android sdk 、gradle、jenkins

一、安装jdk

1、从官方网站下载最新jdk 

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

如图,选择最新版本进行下载,根据你服务器选择64位或32位版本进行下载。

2、解压后放入合适目录,一般企业开发会分给你一个固定目录进行安装软件,如/opt/app

解压命令:tar -zxvf jdk-xxxx.tar.gz

3、配置环境变量

执行: vi /etc/profile ,  输入以下配置,其中jdk版本根据实际版本进行写入。

#set java environment

JAVA_HOME=/opt/app/jdk1.8.0_111

JRE_HOME=/opt/app/jdk1.8.0_111/jre

CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

export JAVA_HOME JRE_HOME CLASS_PATH PATH

然后执行 source /etc/profile更新


二、安装android sdk

1、从官方网站下载命令行工具最新版 https://developer.android.com/studio/index.html

注:最新官网不提供sdk tools工具的直接下载,是通过sdkmanager命令下载,有些同学不知道使用,可以使用如下方式

从 http://tools.android-studio.org/index.php/sdk/ 下载24版本的sdk tool,再执行更新命令。


或者使用命令行下载   wget http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz

解压到/opt/app,到sdk的tools目录下执行更新命令:

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

如果不能进行有效的更新,可以按如下执行:

android list sdk --all  //列出所有可以安装或升级的序号

android update sdk -u -a -t 3 //升级,3代表序号

2、配置sdk的环境变量

打开/etc/profile 文件,写入:

export ANDROID_SDK_HOME=/opt/app/android-sdk-linux

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

执行更新 source /etc/profile

三、安装gradle

打开网址 https://gradle.org/gradle-download/,选择你项目编译所需要的版本,如我选择的是2.14.1

解压至 /opt/app, 然后配置环境变量:

export GRADLE_HOME=/opt/app/gradle-2.14.1

export PATH=$GRADLE_HOME/bin:$PATH

执行更新 source /etc/profile

注:最新版的jenkins不需要手动安装gradle,它会自动帮你安装。

四、安装jenkins

在官方网站 https://pkg.jenkins.io/redhat-stable/ 下载安装包 ,如jenkins-2.19.4-1.1.noarch.rpm

执行安装: yum install jenkins-2.19.4-1.1.noarch.rpm

成功安装后,启动jenkins: service jenkins start

输入网址http://xxx.xxx.xxx.xxx:8080/  可以打开jenkins配置页面, 默认是8080端口,可以修改

 执行:vi /etc/sysconfig/jenkins

 修改  JENKINS_PORT="8090"

执行命令重新启动: service jenkins restart

注意: 如果修改端口后启动不了,记得把防火墙端口打开,或者直接关闭防火墙

五、配置jenkins job

首次进入jenkins,会提醒你安装插件,就安装推荐的即可。但是会由于网络的缘故有些插件安装不上,你也可以离线安装需要的插件,至少git、gradle的插件需要安装。

如果一直提示你安装插件,而一直进入不到首页,可以打开这个页面http://192.168.20.31:8080/restart


如图点击“管理插件”弹出如下页面,大部分插件可在线安装,可以在可选插件中选中需要的插件点击安装

有些地区点击“可选插件”不能显示任何东西,是因为网络的缘故,你可以选择‘“高级”->"升级站点",替换下url (http://mirror.xmission.com/jenkins/updates/update-center.json),如果还是在线安装不了插件,也可以离线进行安装,下载好插件后,选择插件上传。

安装好必要的插件之后,在jenkins中配置jdk,git,gradle

点击“系统管理”->Global Tool Configuration,

如图配置好,接下来可以新建一个job

输入job名字,选择“构建一个自由风格的软件项目”

接下来给这个job配置参数,根据需要选择choice 或者String参数

填入参数

注意:VERSION参数同时也需要在你的项目里使用同样的参数,这样才可以在构建时手动输入版本号设置生效。

配置git源码地址

其中Credentials项是配置好的SSH秘钥名字,  首先在服务器中生成公私钥对,在终端输入如下命令:

ssh-keygen -t rsa -C "chengyuchun@xxx.com"

查看公钥:cat ~/.ssh/id_rsa.pub

查看私钥:cat ~/.ssh/id_rsa

然后在jenkins中作如下配置,目录如图

username: 手工输入名字,随便填

private key:ssh私钥(注意不是公钥)

passphrase:密钥的密码,即生成密钥时设置的密码,没有就不要填。

ID、Description无需填。

移步你的gitlab,在SSH key中填入你服务器中的公钥


这样你的服务器就可以访问gitlab了。

或者 直接在private key中填入你有权限clone代码的账号的私钥

在“增加构建步骤”中选择“invoke Gradle script”

配置构建任务,注意图中红框要选中,不然配置的参数不会生效。

点击保存,这个JOB配置完毕。

返回首页,点击刚刚配置的job->Build with Parameters,最终效果如下,点击“开始构建”即可开始编译项目,生成的apk在目录“工作空间”里可以找到。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,012评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,589评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,819评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,652评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,954评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,381评论 1 210
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,687评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,404评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,082评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,355评论 2 241
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,880评论 1 255
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,249评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,864评论 3 232
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,007评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,760评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,394评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,281评论 2 259

推荐阅读更多精彩内容