搭建环境:阿里云ECS+Linux系统
Java配置
# 查看是否有java环境。有的话,会出现jdk的版本信息。 java -version # 卸载自带的java rpm -qa|grep java rpm -qa|grep jdk rpm -qa|grep gcj rpm -ev # 查看java相关的列表 yum -y list java* # or yum search jdk # 下载JDK,输入“y”同意安装 yum install java # or 下载指定版本的JDK yum install java-1.8.0-openjdk.x86_64 # 安装完成后验证 java -version # 通过yum安装的默认路径为:/usr/lib/jvm cd /usr/lib/jvm ls -l # JDK路径全局配置:按“i”进入编辑模式,修改完成后按“esc+:wq”保存并退出 vi /etc/profile //打开配置文件 export JAVA_HOME=/usr/lib/jvm/jre-1.8.0 export PATH=$JAVA_HOME/bin:$PATH source /etc/profile //刷新配置文件 # 上面下载的是JRE,之后运行jenkins提示tools找不到,重新安装JDK yum 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/profile export GRADLE_HOME=/root/gradle-6.1.1 exprot PATH=$GRADLE_HOME/bin:$PATH source /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 # 运行jenkins java -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_TYPE
String 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/bash
webhook='群机器人的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



