美文网首页
jenkins实现Android自动化打包,基于CentOS

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

作者: Juslt | 来源:发表于2022-01-05 16:27 被阅读0次

    写在开始:

    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.安装tomcattomcat下载地址

    这里选用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

          本文链接:https://www.haomeiwen.com/subject/esohcrtx.html