jenkins实现Android自动化打包,基于CentOS

写在开始:

jenkins自动化打包释放双手的好处就不多说了,本篇文章主要是基于CentOS,搭建一个运行在tomcat上的jenkins服务,实现android自动化打包。

一、服务器选择

  1. 购买阿里云服务器或者其他云服务平台,选择基于CentOS内核。如果仅在公司内部使用的话可以使用一台安装Linux系统的主机即可。
  2. 不熟悉Linux命令的同学,推荐使用服务器管理软件,宝塔linux面板安装
Centos安装脚本 yum install -y wget && wget -O install.sh
http://download.bt.cn/install/install_6.0.sh && sh install.sh

安装成功后,牢记宝塔管理后台地址和用户名密码


1.png

二、CentOS安装必要的几个软件

1.centOS安装jdk。 可以参考详细教程
终端执行安装命令:

yum install java-11-openjdk-devel

这种方法安装的 JDK 位置位于/user/lib/jvm文件夹下
通过宝塔面板进入/etc/profile文件,配置全局变量:

JAVA_HOME=/usr/lib/jvm/java-11-openjdk 
export JRE_HOME=/usr/lib/jvm/jre 
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib 
export PATH=${JAVA_HOME}/bin:$PATH

如果你的系统中还装有不同版本的 JDK 的话。你可以运行以下命令去选中默认jdk版本:

alternatives --config java

2.安装Git

yum install git
git --version  #显示版本号,说明git安装成功

3.安装Android SDK
网上搜到最多的安装方式是基于android24版本的安装方案,早过时了。这里推荐使用官方commandlinetools安装sdkManager。 下载Command line tools

10.png

通过宝塔面板上传commandlinetools-linux-xxxx.zip文件到/usr/local/androidSdk,解压

其次,配置sdkmanager全局变量PATH

export SDK_HOME=/usr/local/androidSdk 
export PATH=${SDK_HOME}/cmdline-tools/bin:$PATH  # 配置sdkmanager环境

可以执行下面指令进行检查sdkmanager是否安装成功以及对应的版本信息

[root@vultr local] sdkmanager --sdk_root=/usr/local/androidSdk/ --version
5.0

列出已安装和可用的软件包

sdkmanager --sdk_root=/usr/local/androidSdk/ --list

选择安装软件包,安装的cmd指令

sdkmanager --sdk_root=/usr/local/androidSdk/ "platform-tools" "platforms;android-31" "build-tools;31.0.0"

下载了platform-tools之后,我们就可以把adb也一块配置上去了,即在 /etc/profile中追加以下全局配置

export PATH=${SDK_HOME}/platform-tools:$PATH  # 配置adb环境

并检查是否下载成功以及配置是否生效

[root@vultr local] adb --version

Android Debug Bridge version 1.0.41

Version 31.0.3-7562133

Installed as /usr/local/androidSdk/platform-tools/adb

4.安装tomcat。tomcat下载地址

这里选用jenkins运行在tomcat服务器上,所以先选择tomcat8 tar.gz下载

下载成功后,通过宝塔面板上传到路径/www/server下,解压文件

解压后,进入到/www/server/tomcat/bin目录下,通过终端执行./startup.sh启动tomcat

tomcat默认端口号是8080,打开浏览器输入http://你的地址:8080

如果出现如下页面,代表tomcat启动成功。


2.png

如果没有启动成功,确认一下防火墙是否打开,防火墙管理命令

# 开启8080端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
# 重启防火墙
firewall-cmd --reload
# 查询端口号8080是否开启
firewall-cmd --query-port=8080/tcp

三、安装jenkins并添加配置。

1.下载并安装jenkins。jenkins下载地址
找到.war文件并下载

3.png

下载成功后,依然通过宝塔面板上传到/www/server/apache-tomcat-8.5.73/webapps路径下 ,解压文件。

解压后,打开浏览器输入地址:http://你的地址:8080/jenkins

4.png

找到/root/.jenkins/secrets/initialAdminPassword路径下的管理员密码输入进去

安装推荐的插件

5.png

然后设置账号和密码,自动进入jenkins后台

如果推荐的插件下载不下来,可以尝试添加jenkins国内镜像:jenkins国内镜像

或者选择几个必要的插件安装:

(1)安装locale插件 ,设置jenkins语言

(2)安装git插件

(3)安装gradle插件

2.插件安装后,进入全局工具配置页面,添加jenkins配置

配置jdk、git、gradle全局路径

jenkins管理后台,从首页 >> 系统管理 >> 全局工具配置

6.png

(1)配置jdk,配置jdk的全局变量

7.png

(2)配置git ,/usr/bin/git是使用yum安装git的默认路径

8.png

(3)配置gradle,gradle可以选择自动安装,我这里选择的是gradle7.0.2

9.png

3.配置全局android sdk 路径

jenkins管理后台 >>首页>> 系统配置

11.png

添加sdk 环境变量


12.png

其实只用ANDROID_HOME 就行了,我这里打包的时候出现ANDROID_HOME与ANDROID_SDK_ROOT路径不一致的错误,所有在这里重复指定了一遍。
到这里,全局配置基本上已经完成了。

四、构建自动打包任务

新建任务,选择freestyle project

13.png

配置git仓库地址,如果public仓库不需要输入credentials

14.png

配置gradle 命令


15.png

开始执行一个任务吧

image.png

构建成功后的控制台输出

image.png

5、总结。

按照以上步骤,已经可以实现一个基础的android自动化打包工具了。如果需要定制参数等其他的jenkins配置,可以参考推荐链接。
搭建过程并不是一戳而就的,难免会遇到各种各样的问题,遇到问题及时google寻找解决办法。

常见问题:待补充

参考链接:
https://juejin.cn/post/6844904083749339144
https://blog.csdn.net/T_double/article/details/109252621
https://cloud.tencent.com/developer/article/1489225

你可能感兴趣的:(jenkins实现Android自动化打包,基于CentOS)