这回分享下使用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
同样,解压到/opt/app,到sdk的tools目录下执行更新命令:
./android update sdk -u -t add-on,extra,platform,platform-tool,tool
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
在官方网站 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 "[email protected]"
查看公钥:cat ~/.ssh/id_rsa.pub
查看私钥:cat ~/.ssh/id_rsa
然后在jenkins中作如下配置,目录如图
username: 手工输入名字,随便填
private key:ssh私钥(注意不是公钥)
passphrase:密钥的密码,即生成密钥时设置的密码,没有就不要填。
ID、Description无需填。
移步你的gitlab,在SSH key中填入你服务器中的公钥
这样你的服务器就可以访问gitlab了。
在“增加构建步骤”中选择“invoke Gradle script”
配置构建任务,注意图中红框要选中,不然配置的参数不会生效。
点击保存,这个JOB配置完毕。
返回首页,点击刚刚配置的job->Build with Parameters,最终效果如下,点击“开始构建”即可开始编译项目,生成的apk在目录“工作空间”里可以找到。