android build自动启动,Android持续集成使用Jenkins实现自动化打包

Jenkins是一款由Java编写的开源的持续集成工具。Jenkins运行依赖Java JDK,如果你未安装JDK,需要先去安装(估计你肯定已经安装过了)。

d5d6cb39d595

Jenkins启动页面

一:安装Jenkins

首先我们安装Jenkins,我们可以通过Homebrew安装,也可以通过客户端安装,这里推荐大家使用Homebrew安装,因为通过客户端安装,后面配置过程中,你可能会遇到权限配置问题( 本文里的环境是macOS)。

如果你的Mac未安装Homebrew,需要先安装Homebrew。

1.安装Homebrew,在终端输入(如果已安装,可跳过):ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2.安装Jenkins,在终端输入安装命令:brew install jenkins

安装成功结果:

d5d6cb39d595

Jenkins安装成功

可以看到结果提示,如果想在开机就启动Jenkins,可以使用命令 brew services start jenkins 来启动Jenkins,否则直接使用命令 jenkins 来启动。

二:启动Jenkins

1.在终端输入启动命令:jenkins

第一次启动Jenkins,终端会打印出Jenkins管理员初始登录密码,复制这个密码,我们后面要使用

d5d6cb39d595

启动Jenkins

2.在浏览器输入:http://localhost:8080,访问Jenkins主页。结果如下:

d5d6cb39d595

启动Jenkins

根据页面提示我们可以在路径 /Users/wf/.jenkins/secrets/initialAdminPassword 文件里找到Jenkins初始登录密码,也可以使用我们上一步复制的密码。这两处的密码是一样的。

3.在上一步输入密码,然后点击“继续”,进入插件安装页面

d5d6cb39d595

启动Jenkins

我们点击第一个”安装推荐的插件”(这里推荐选择第一个,我们安装Jenkins推荐的所有插件,否则后面我们要一个一个去安装好多插件),选择之后进入安装页面

d5d6cb39d595

Jenkins安装中

插件安装中,这里需要点时间,稍等一会。

4.安装成功后,我们需要创建一个管理员用户

d5d6cb39d595

创建Jenkins管理员

填写你想输入的信息,然后“保存并完成”,进入下一个页面(这里你可以在你的记事本上把用户名和密码备份一下,如果你忘记了,后面再配置的话,会很麻烦)

5.实例配置使用默认,不用修改,然后“保存并完成”。进入下一个页面

d5d6cb39d595

Jenkins实例配置

6.开始页面,点击“开始使用jenkins”

d5d6cb39d595

开始使用jenkins

三:进入Jenkins主页

d5d6cb39d595

Jenkins主页

1.在创建新任务之前,我们先安装一个插件。点击左侧的 Manage Jenkins -> Manage Plugins(插件管理)

d5d6cb39d595

Manage Jenkins

d5d6cb39d595

Manage Plugins(插件管理)

2.选择可选插件,在右上角搜索框,输入插件名称:Git Parameter,然后勾选,点击“直接安装”

d5d6cb39d595

Git Parameter

安装成功后,返回首页

四:配置Android环境变量

1.在左侧选择Manager Jenkins -> System Configuration

d5d6cb39d595

System Configuration

2.找到全局,勾选Environment variables,然后“新增”

d5d6cb39d595

新增

3.配置Android环境变量,然后”保存“。

d5d6cb39d595

Android HOME

五:创建任务

1.点击“创建一个新任务”,进入创建页面

d5d6cb39d595

创建任务

2.输入项目名称,选择 Freestyle project(构建一个自由风格的项目) ,然后”确定”,进入配置页面

d5d6cb39d595

创建任务

General配置

输入简单的项目描述

d5d6cb39d595

项目描述

源码管理配置

1.在左侧勾选Git,然后输入你项目的Git仓库地址。然后我们需要添加一个账号(这里的账号就是你Git的用户名和密码,Jenkins会用来登录Git仓库拉取代码),点击“添加”

d5d6cb39d595

源码管理

2.添加页面:输入Git用户名和密码,点击”添加“。

d5d6cb39d595

添加账号

3.添加成功后,然后选择你刚才添加的账号。在分支栏你可以修改分支名称,这里我们先使用master,后面我们会做成动态的,根据用户手选分支,而不是写死。

d5d6cb39d595

添加账号

4.修改超时时间:如果你的工程比较大,那么建议修改一下Git的克隆和拉取时间,不然Jenkins拉取代码的时候会超时。在下面点击”新增“->选择”Advanced Clone behaviours“

d5d6cb39d595

Advanced Clone behaviours

然后根据下面,输入配置信息

d5d6cb39d595

修改超时时间

构建配置

在构建配置选择 Execute shell,然后输入打包命令。打包命令可以去这里下载。具体的iOS打包命令含义可以去这里学习Android自动打包apk。

d5d6cb39d595

Execute shell

输入构建命令

d5d6cb39d595

构建命令

然后保存,回到项目首页。

六:构建项目

1.点击左侧 Build Now(立即构建)

d5d6cb39d595

构建项目

2.构建中...

d5d6cb39d595

构建中...

3.构建成功,此时打开你的蒲公英,就会看到刚才打的新包

d5d6cb39d595

构建成功

七:参数化构建

经过上面的步骤我们已经可以实现自动化打包,并上传到蒲公英。可是实际上的需求是:我们希望打包的时候可以手动选择某个分支,然后再选择某个环境,然后再自动化构建对应的包。这时就需要使用参数化构建。

1.点击左侧”配置“,我们重新进入刚才的配置页面

d5d6cb39d595

配置

2.勾选参数化构建

d5d6cb39d595

参数化构建

添加参数,选择Git Parameter

d5d6cb39d595

Git Parameter

然后配置Git构建参数信息:

d5d6cb39d595

Git Parameter

再次添加参数,选择Choice Parameter

d5d6cb39d595

Choice Parameter

配置Choice Parameter打包环境参数信息

d5d6cb39d595

Choice Parameter

3.修改源码管理,将分支名称修改为我们上面Git Parameter里配置的Key名称(其实代表的就是分支名称)

d5d6cb39d595

4.然后修改打包脚本,我们可以根据上面设置的名称 SRERVICE_ENVIRONMENT 来获取用户选择的环境,然后我们需要根据环境修改对应的代码。这里有两种方式:

先看项目里的代码,我们的目的就是通过脚本修改常量 ENVIRONMENT 的值,看代码我们可以修改为DEV、TEST、Production 其中一项,变量 env 会根据 ENVIRONMENT 的值赋值对应的环境。

d5d6cb39d595

AppEnv.java

d5d6cb39d595

Env.java

看了代码,其实也就明白了,上面配置的打包环境字符串参数的值和代码里字符串值是对应的

d5d6cb39d595

AppEnv.java

5.我们加入了分支选择和环境选择,所以需要修改打包脚本,去这里下载

d5d6cb39d595

构建

脚本讲解

脚本一:file_app_path是要修改代码的java文件路径,也就是我们会使用脚本修改这个文件里的 ENVIRONMENT 常量的值。file_app_path=${path}src/main/java/com/example/test/AppEnv.java

脚本二:找到我们要修改代码的java文件,然后将默认的字符串SRERVICE_ENVIRONMENT修改为打包时所选对应的定义好的字符串。# 更改打包环境

environment="SRERVICE_ENVIRONMENT"

target_environment=${nameSuffix}

sed -i '' 's/'${environment}'/'${target_environment}'/g' $file_app_path

environment变量:是我们项目里默认的字符串

target_environment变量:是我们上面选择的环境对应的字符串

最后一行脚本的作用就是替换,将 environment 替换为 target_environment 。

脚本三:再打包完成之后,我们又将字符串替换回去,相当于恢复我们刚刚修改的代码,刚好和上面的相反# 更改打包环境

sed -i '' 's/'${target_environment}'/'${environment}'/g' $file_app_path

然后保存,此时之前的 Build Now 已经变成 Build with Parameters,点击

6.然后保存,回到项目首页。

八:再次构建项目

在左侧选择”Build with parameters“,然后选择对应的分支,对应的环境,开始构建

d5d6cb39d595

构建

构建成功,再次打开你的蒲公英,就会看到刚才打的指定分支、指定环境的新包。

你也可以扩展一些其他功能,比如打包完成后,给测试人员发送邮件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值