写在开始:
jenkins自动化打包释放双手的好处就不多说了,本篇文章主要是基于CentOS,搭建一个运行在tomcat上的jenkins服务,实现android自动化打包。
一、服务器选择
- 购买阿里云服务器或者其他云服务平台,选择基于CentOS内核。如果仅在公司内部使用的话可以使用一台安装Linux系统的主机即可。
- 不熟悉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
通过宝塔面板上传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文件并下载
下载成功后,依然通过宝塔面板上传到/www/server/apache-tomcat-8.5.73/webapps
路径下 ,解压文件。
解压后,打开浏览器输入地址:http://你的地址:8080/jenkins
找到/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的默认路径
(3)配置gradle,gradle可以选择自动安装,我这里选择的是gradle7.0.2
9.png3.配置全局android sdk 路径
jenkins管理后台 >>首页>> 系统配置
11.png添加sdk 环境变量
12.png
其实只用ANDROID_HOME 就行了,我这里打包的时候出现ANDROID_HOME与ANDROID_SDK_ROOT路径不一致的错误,所有在这里重复指定了一遍。
到这里,全局配置基本上已经完成了。
四、构建自动打包任务
新建任务,选择freestyle project
配置git仓库地址,如果public仓库不需要输入credentials
14.png配置gradle 命令
15.png
开始执行一个任务吧
image.png构建成功后的控制台输出
image.png5、总结。
按照以上步骤,已经可以实现一个基础的android自动化打包工具了。如果需要定制参数等其他的jenkins配置,可以参考推荐链接。
搭建过程并不是一戳而就的,难免会遇到各种各样的问题,遇到问题及时google寻找解决办法。
常见问题:待补充
参考链接:
https://juejin.cn/post/6844904083749339144
https://blog.csdn.net/T_double/article/details/109252621
https://cloud.tencent.com/developer/article/1489225
网友评论