基于Jenkins自动构建Android多环境包
程序员文章站
2024-01-28 08:44:16
...
基于Jenkins自动构建Android多环境包
- 下载tomcat
- 下载jenkins.war
- 将jenkins.war放到webapps路径下并启动tomcat服务器即可安装Jenkins。(这个步骤不是本文的重点,读者可查阅相关资料完成操作)
本文的重点是配置Jenkins如何给Android打多环境包
1.系统管理——系统设置——环境变量添加AndroidSDK路径,如下图所示:
保存即可。
2.系统管理——全局工具配置
a) Maven配置,如下图所示:
b) JDK安装
c) Git安装
d) Gradle安装
e) Maven安装
保存即可。
3.完成上述配置之后就可以新建任务了
任务名称根据自己的需要填写即可 构建一个*风格的软件项目 确定就会跳到任务配置页面,可以按照下图依次完成配置
PS:Git Parameter是需要另外安装插件Git Parameter Plug-In
笔者在构建完成之后上传到蒲公英了 配置如下
PS:Upload to payer with apiV1是需要安装插件Upload to pgyer
4.任务配置完成之后就可到任务对应的工程了
点击 Build with Parameters,如下图所示:
可以选择相应的环境 和分支或者tag进行打包 可以通过控制台输出查看构建进度,由于笔者上传到蒲公英了 所以在控制台中也可以看到app打包上传在蒲公英上面的下载地址。
至此 整个Jenkins构建多环境Android包已完成。
PS:(Android配置如下)
1.build.gradle
buildTypes {
// 开发
debug {
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
buildConfigField 'String', 'API_URL', dev_api_url
buildConfigField 'String', 'H5_URL', dev_h5_url
}
// 测试
sit {
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
buildConfigField 'String', 'API_URL', sit_api_url
buildConfigField 'String', 'H5_URL', sit_h5_url
}
// 联调
uat {
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
buildConfigField 'String', 'API_URL', uat_api_url
buildConfigField 'String', 'H5_URL', uat_h5_url
}
// 生产
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
buildConfigField 'String', 'API_URL', pro_api_url
buildConfigField 'String', 'H5_URL', pro_h5_url
}
applicationVariants.all {
def buildType = it.buildType.name
def fileName
def createTime = new Date().format("yyyy-MM-dd HH:mm:ss", TimeZone.getTimeZone("GMT+08:00"))
it.outputs.each {
fileName = "V${defaultConfig.versionName}-${createTime}-${buildType}.apk"
println "文件名:-----------------${fileName}"
it.outputFileName = fileName
}
}
}
2.gradle.properties
追加一下代码即可(替换成自己的url链接即可)
dev_api_url="http://api.xx.com/dev"
dev_h5_url="http://h5.xx.com/dev"
sit_api_url="http://api.xx.com/sit"
sit_h5_url="http://h5.xx.com/sit"
uat_api_url="http://api.xx.com/uat"
uat_h5_url="http://h5.xx.com/uat"
pro_api_url="http://api.xx.com/pro"
pro_h5_url="http://h5.xx.com/pro"