欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Android自动化构建:Jenkins+Gradle+Git+Tomcat

时间:2023-07-07

搭建环境:阿里云ECS+Linux系统

Java配置

# 查看是否有java环境。有的话,会出现jdk的版本信息。java -version# 卸载自带的javarpm -qa|grep javarpm -qa|grep jdkrpm -qa|grep gcjrpm -ev# 查看java相关的列表yum -y list java*# oryum search jdk# 下载JDK,输入“y”同意安装yum install java# or 下载指定版本的JDKyum install java-1.8.0-openjdk.x86_64# 安装完成后验证java -version# 通过yum安装的默认路径为:/usr/lib/jvmcd /usr/lib/jvmls -l# JDK路径全局配置:按“i”进入编辑模式,修改完成后按“esc+:wq”保存并退出vi /etc/profile //打开配置文件export JAVA_HOME=/usr/lib/jvm/jre-1.8.0export PATH=$JAVA_HOME/bin:$PATHsource /etc/profile //刷新配置文件# 上面下载的是JRE,之后运行jenkins提示tools找不到,重新安装JDKyum install -y java-1.8.0-openjdk-devel.x86_64

Gradle安装和配置

# 下载地址:https://gradle.org/releases/# 选择项目构建用的Gradle版本wget https://downloads.gradle-dn.com/distributions/gradle-6.1.1-all.zip# 解压unzip gradle-6.1.1-all.zip# 配置环境变量vim /etc/profileexport GRADLE_HOME=/root/gradle-6.1.1exprot PATH=$GRADLE_HOME/bin:$PATHsource /etc/profile

Tomcat安装和配置

# 下载Tomcat8(之前下载Tomcat10运行jenkins后服务会自动关闭)wget https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.75/bin/apache-tomcat-8.5.75.zip# 解压unzip apache-tomcat-8.5.75.zip

jenkins下载和运行

# 本地浏览器打开“jenkins.io”,点击“download”按钮进入下载列表,复制下载链接回到linux命令行界面wget https://get.jenkins.io/war/2.331/jenkins.war# 运行jenkinsjava -jar jenkins.war# 移动jenkins.war到/tomcat/webapps文件夹下,输入ip/域名:8080后直接运行

jenkins配置

本地浏览器输入 ECS的IP:8080 打开

 复制密码文件路径/root/.jenkins/secrets/initialAdminPassword 回到linux

新开一个命令行界面,打开密码文件,复制密码。

选择“安装推荐的插件”,等待安装完成,设置管理员用户,跳过配置url,保存完成。

 Jenkins插件

系统管理-->插件管理-->可选插件

系统管理-->管理用户-->新建用户-->创建测试用户

系统管理-->Configure Global Security-->授权策略-->安全矩阵-->给管理员和测试人员分配权限

①新建任务-输入任务名称-构建一个自由风格的软件项目
②参数化构建过程-设置参数(后面构建中勾选Pass all job parameters as Project properties,不然设置的参数在项目中获取不到)
③安卓项目代码,gradle.properties文件中添加参数

BUILD_TYPE=DEVELOPER DEV_ENVIRonMENT=test

④安卓项目代码,build.gradle中获取使用参数

String buildType = project.BUILD_TYPEString devEnvironment = project.DEV_ENVIRonMENT// 日志开关buildConfigField "boolean", "LOG_ENABLE", "true"// 接口线上线下buildConfigField "boolean", "DEV_ENVIRONMENT", buildType.contains("JENKINS") ? (devEnvironment.contains("prod") ? "true" : "false") : rootProject.ext.android.devEnvironment

构建后的包放在/tomcat/webapps/test文件夹下,发送钉钉通知:

#!/bin/bashwebhook='群机器人的webhook_token'download_url='http://***.***.***.***:8080/test/***.apk'function rebot() { curl $webhook -H 'Content-Type: application/json' -d " { 'msgtype': 'text', 'text': { 'content': '***-安卓测试包n$download_urln' }, 'at': { 'isAtAll': false, 'atMobiles':[ "被@群成员的钉钉注册手机号" ] } }"}rebot

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。