Android-使用Jenkins自动化打包详解-windows篇

基本:从0开始构建一个安卓项目

1、下载和安装jenkins
①、安装tomcat
②、下载jenkins
在这里插入图片描述
下载后是一个 .war 文件,放到 apache 目录下的 webapps 文件夹下
在这里插入图片描述
浏览器内输入 http://127.0.0.1:8080/jenkins
在这里插入图片描述
在这里插入图片描述
先跳过插件安装
在这里插入图片描述
接下来设置账号等,配置完成后就可以看到 jenkins 管理界面了
在这里插入图片描述
2、插件安装
在这里插入图片描述
在这里插入图片描述
勾选以下这些插件
Git
Gradle
Email Extension
description setter
Build Name and Description Setter
user build vars
PostBuildScript
Branch API
SSH
Scriptler
Git Parameter
OWASP Markup Formatter:能让 description 中显示 html,例如展示二维码和下载链接

点击 Down now and install after restart,等下载完重启 jenkins 就安装好了
在这里插入图片描述
在 Installed 选项卡下可以看到已经安装过的插件,比你自己安装的多,因为很多依赖的插件是自动下载的
在这里插入图片描述
3、配置
①、Manage Jenkins -> Global Tools Configuration

设置 JDK
在这里插入图片描述
设置 Git
在这里插入图片描述
设置 Gradle ,可以设置成固定版本,这里我不设置了,后边加入项目的时候用项目里的版本
在这里插入图片描述
②、Manage Jenkins -> Configure System
勾选 Environment variables,添加 ANDROID_HOME变量,这个值是sdk路径,可以去系统变量看下填的什么
在这里插入图片描述
4、项目配置
①、点击左侧 New Item 来新建一个项目

输入项目名称,选择 Freestyle project

②、Source Code Management

选择 Git,填入项目地址
在这里插入图片描述
Credentials add 一个用户,填入 git 账号信息
在这里插入图片描述
③、Build

Build 中选中 Invoke Gradle Script,Task 填写 clean assembleRelease --stacktrace --debug(清理build文件夹,编译并打Release的包,打印堆栈日志,调试模式)
在这里插入图片描述
5、项目构建
点击保存就进入到项目主页了,点击 Build Now 开始构建,Build History 会出现构建任务列表,点击进入可以查看构建详情页
在这里插入图片描述
如果前边的圆圈变成红色说明构建失败,点击进入构建详情页,然后点击左侧 Console Output 查看日志输出
在这里插入图片描述
在这里插入图片描述
因为信息比较多,可以直接搜索 What went wrong,找到报错原因

如果圆圈变为蓝色说明构建成功,可以在 Workspace -> app/build/outpus 找到apk
在这里插入图片描述
在这里插入图片描述

进阶:定制想要的功能

自定义属性配置

以上就完成了简单的部署和构建。但还不是我们的最终目的。我们想通过配置一下参数,来满足一些需求,比如根据渠道打不同版本的包、根据Tag打不同的包等,下面就来说一下Jenkins参数化构建
在项目的 gradle.properties 中,我们有 VERSION_CODEVERSION_NAME

COMPILE_SDK_VERSION=29
BUILD_TOOLS_VERSION=29.0.2
APPLICATION_ID=com.szy.supermarket
MIN_SDK_VERSION=19
TARGET_SDK_VERSION=29
VERSION_CODE=1
VERSION_NAME=1.0.0
MAVEN_URL=https://dl.bintray.com/yishopcustomer/maven/
android.useAndroidX=true
android.enableJetifier=true

在 build.gradle 中会用到

apply plugin: 'com.android.application'

......
android {
   
  	......
    defaultConfig {
   
        multiDexEnabled true
        applicationId APPLICATION_ID
        minSdkVersion MIN_SDK_VERSION
        targetSdkVersion TARGET_SDK_VERSION
        versionCode VERSION_CODE as int
        versionName VERSION_NAME
        ndk {
   
            abiFilters 'armeabi'
        }
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    ......
        productFlavors {
   
        szy {
   
            applicationId 'com.xx.xx'
            manifestPlaceholders = [
                    app_name     : "云小店正式",
                    ......
            ]
        }

        szytest {
   
            applicationId 'com.xx.xx'
            manifestPlaceholders = [
                    app_name     : "云小店测试",
                    ......
            ]
        }
    }
}
......

项目设置主页 -> General -> 勾选 This project is parameterized
在这里插入图片描述
下面开始添加参数

参数名 参数类型 参数值列表
GIT_TAG Git Parameter dev、master等
BUILD_TYPE Choice Release or Debug
PRODUCT_FLAVORS Choice Xiaomi、Huawei等
VERSION_NAME String 1.0.0

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值