Jenkins奇技淫巧 — 安装篇(mac)
Jenkins奇技淫巧 — 配置篇
Jenkins奇技淫巧 — 安全篇
Jenkins奇技淫巧 — 发送邮件篇
Jenkins奇技淫巧 — 全局变量篇
Jenkins奇技淫巧 — 新建任务篇
Jenkins奇技淫巧 — 插件篇
Jenkins奇技淫巧 — 问题篇
Jenkins奇技淫巧 — 命令篇
Jenkins奇技淫巧 — 环境配置篇(Android自动化构建)
Jenkins奇技淫巧 — 参数化构建篇(Android自动化构建)
Jenkins奇技淫巧 — 第一次实战篇(Android自动化构建)
Jenkins奇技淫巧 — Python打包篇(Android自动化构建)
Jenkins奇技淫巧 — Python发送邮件和上传蒲公英(Android自动化构建)
Jenkins奇技淫巧 — 乐固,多渠道打包篇(Android自动化构建)
Jenkins奇技淫巧 — 节点管理篇
Jenkins奇技淫巧 — 优秀文章篇
简介
这篇文章,以自己熟悉的领域,自动化构建Android应用为例,带大家从基本的配置到能够用Jenkins实现Android自动化打包,其中包含了Android打包所需要的环境,工具,构建后发送邮件通知项目组成员等。
配置页面,很多选项都可以配置多个,比如“构建”可以添加多个执行步骤,这些按照添加的先后顺序执行操作,这样就可以实现更多和先后顺序有关的操作。
Android构建环境配置
参考:
https://developer.android.google.cn/studio/command-line/sdkmanager
构建Android应用,我们需要下载sdk,gradle工具等。当然,这个并没有什么困难,大不了安装一个Android studio,通过可视化界面,下载sdk,gradle等,但是,当我们在自己的服务器上,拷贝可能要花费很长时间,或者自己的服务器本来配置就差,如果再安装一个Android Studio,感觉不太理想,再比如,用的阿里云的服务器,没有可视化界面的时候,那又该怎么安装环境呢?下面我将带大家一起通过命令行配置Android构建需要的环境。
-
sdk管理命令工具:sdkmanager
到https://developer.android.google.cn/studio下载sdk-tools,下载后解压到你指定的目录下。zip包,Linux可以用unzip直接解压即可。
在tools -> bin下面有一个可执行文件sdkmanager,使用“sdkmanager --help”查看使用方法,下面我们就用它来安装Android SDK所需要的其它工具。列出已安装和可用的包
sdkmanager --list [options]-
安装包
sdkmanager packages [options]
这里的“packages”就是上面通过 “sdkmanager --list ”列出的名字。通过“sdkmanager --package_file=下载清单文件路径”进行批量下载
下载清单只需要放置“--list”中的名称,每个换行。- 安装"platform-tools" "platforms;android-26","build-tools;28.0.2","extras;android;m2repository"包
sdkmanager "platform-tools" "platforms;android-26" "build-tools;28.0.2" "extras;android;m2repository "
安装好了,目录下就会有这些文件,有了这些文件,基本sdk需要的文件就好了。
sdk目录是我自己创建的,我将下载好的文件移动到这个目录下,方便管理,patcher和ndk-bundle用同样的方法下载即可。
Android构建任务配置
安装好了Android构建所需要的sdk环境,下面我将带大家一起看看,怎么配置Android构建任务的环境配置,只有配置好了任务所需的配置,才能成功构建出Android应用。
还记得上一篇文章讲解的创建任务的流程,我们创建了第一个Jenkins任务,下面将以这个任务为例来进行讲解。
点击任务,进入任务首页,点击左侧配置,进入任务配置页面。这里只讲解比较重要的部分,其它大家想一想就知道怎么配置以及有什么作用。
GitHub 项目
当需要从GitHub远程仓库拉去项目代码时,在这里填写你GitHub上的项目地址,比如:https://github.com/bubian/BlogProject.git/丢弃旧的构建
配置旧的构建文件的缓存策略参数化构建过程
通过配置参数,在构建时可以选择自己想要的参数,比如获取远程仓库分支,并在构建时选择自己想要构建的分支,当然不使用参数化构建也能构建出Android应用,但是使用参数化构建会使自动化化构建变得更加好用,这一点我将在下一篇文章讲解,这一篇目的是简单的构建一个Android应用。-
源码管理
填写仓库的地址即可
如果我们有多个项目需要配置,那该怎么办呢,这里推荐一款插件,可以帮助我们进行多个项目的管理——Multiple SCMs
- 构建触发器
触发启动任务的方式 - 构建环境
构建前,后等所做的额外操作 - 构建
构建应用的方式- Invoke Gradle script
执行gradle文件,调用工程下面的build.gradle文件,选择“invoke Gradle script”后。Gradle Version可以选择默认,这将由Jenkins指定gradle使用的版本,当然也可以自己设置,还记得我们在Jenkins奇技淫巧 — 配置篇(mac)里面讲解“全局工具配置”里面有写Gradle配置,如果那个地方配置了,这里可以下拉选择我们配置的Gradle版本。
- Invoke Gradle script
- 执行shell
通过shell命令执行构建,比如./gradlew assembleDebug,Android Studio打包也是调用的该命令。所以这里使用shell命令执行构建。
- 构建后操作
选择“E-mail Notification”和Editable Email Notification,发送邮件配置
这里基本上都是默认,在“ Triggers”标签选择触发的情况,以及收件人类型
开始构建
基本配置完成,点击任务右侧构建按钮,即可以启动应用构建。