Jenkins+Git+Gradle 持续集成Android应用

写在前面

折腾了几天,终于把jenkins持续集成Android应用的环境部署好了。一开始用Tomcat+war包的方式部署,期间遇到很多莫名奇妙的问题,尝试了很多方法,换过版本,重启过服务器都不行。后来换了jenkins的安装程序,然后莫名又好了。
所以,这里就记录下安装包的部署方式。其实配置都是一样的…[捂脸]

环境准备

操作系统

系统: Windows Server
内存: 8G
系统类型: 64位操纵系统

安装准备

  • Jenkins
  • JDK (配置环境变量)
  • SDK (配置环境变量 ANDROID_HOME)
  • Git
  • Gradle

Jenkins的安装

进入jenkins官网下载页 , 点击“Download Jenkins”按钮。

《Jenkins+Git+Gradle 持续集成Android应用》 jenkins安装包下载

下载完成后点击安装。

这样就已经完成安装了,so easy。

启动服务

java -jar jenkins.war

配置

接下来就是最关键的地方了。

登录

首次打开,使用Admin登录,密码在安装目录下:/secrets/initialAdminPassword

插件安装

首次打开会推荐你安装一些插件,选中自己需要的插件安装下就好;如果全部安装的话,比特别慢(也有可能是我们网络的问题 Orz..)
我们所需要的插件:

  • git plugin (从GitLab上拉取版本)
  • Android Lint plugin (Android代码静态分析)
  • gradle plugin (编译打包)
  • Email Extension Plugin (邮件通知,默认的邮件通知只能在构建失败时发送邮件,这个插件可以选择各个结果发送给不同的人)

如果在首次进入系统时,没有选择安装插件,或者安装不全,也可以在进入系统之后,点击 管理插件 然后在可选插件中搜索需要安装的插件。

工具配置

点击 Global Tool Configuration
配置JDK

《Jenkins+Git+Gradle 持续集成Android应用》 jdk配置

配置Git

《Jenkins+Git+Gradle 持续集成Android应用》 git配置

gradle配置 (这里用的自动安装,没有用本地的,无差别)

《Jenkins+Git+Gradle 持续集成Android应用》 gradle配置

新建项目

做好以上配置后,就可以新建项目来构建了。以下,通过创建一个Test项目为例:
点击新建;输入Job的名称,选择一个自由风格的软件项目

《Jenkins+Git+Gradle 持续集成Android应用》 创建新Job

源码管理

填写Repository URL,选择一个拥有权限的Credentials,填写需要拉取的分支。

《Jenkins+Git+Gradle 持续集成Android应用》 Git源码管理

如果需要添加Credentials的话,则点击
Add

《Jenkins+Git+Gradle 持续集成Android应用》 添加credentials

默认情况下,如果repository URL 没有写Scheme的话是SSH的协议方式,因此添加Credentials的时候:

  • Kind 选择 SSH Username with private key
  • 1的地方填写git的用户名
  • 2的地方填写git的SSH的私钥

构建触发器

选择Poll SCM,设置如下:

《Jenkins+Git+Gradle 持续集成Android应用》 构建触发器

图里的设置表示:每三个小时check一次git版本,如果版本有更新,则构建,否则不构建。
这里的五个参数分别代表着:MINUTE HOUR DOM MONTH DOW;具体的解释,以及如何配置可以点击右侧的问号来查看文档。不再详述。

构建

选择 Invoke Gradle script

《Jenkins+Git+Gradle 持续集成Android应用》 选择构建方式

选择Gradle的版本(即刚在Global Tool中添加的Gradle);Task的地方设置如下clean build --stacktrace --debug

《Jenkins+Git+Gradle 持续集成Android应用》 设置构建脚本

点击保存,新建构建项目就已经完成了。
My View的页面,点击对应项目的构建计划,即可构建。
项目源码会被下载到C:\Users\Administrator\.jenkins\jobs\Test\workspace中,APK打包在项目对应的build中。

权限通知

当我们存在多个项目的时候,出于对项目安全的考虑,同时也避免不相关的项目出现在自己的View中,可以对测试人员的操作权限,项目的权限进行设置。
点击Configure Global Security ,在访问控制里面的授权策略中选取项目矩阵授权策略

  • Overall:全局的权限,包括管理员(最大权限);全局配置权限,升级插件权限,读权限
  • Credentials:凭证管理权限
  • Job:构建项目权限

一般情况下,我们给到测试只要勾选Overall 中的Read即可

特别注意!特别注意!特别注意!如果使用项目矩阵授权策略,请一定要把当前的Admin权限添加进去,并选择Administer权限

全局权限配置之后,还需要到相应的项目中配置权限。否则是看不到相应的项目的。
选择我们刚刚新建的Test项目,进入到配置中:选择启动项目安全;根据需求添加相应的人员,并勾选相应的权限。

邮件通知

默认的邮件通知只能在构建失败的时候发送邮件给相应的人员。还记得在开始的时候安装的Email Extension Plugin 插件么?这个插件可以根据我们的需求发送邮件给对应的开发or测试。
首先需要在
系统设置
中,配置一些基本信息:

《Jenkins+Git+Gradle 持续集成Android应用》 发件邮箱设置

然后配置下收件人,邮件模版:

《Jenkins+Git+Gradle 持续集成Android应用》 邮件模版

系统配置完成之后,其实还是收不到邮件的,还需要到相应的项目中设置。
在相应项目的配置中增加构建后操作步骤,选择Editable Email Notification

《Jenkins+Git+Gradle 持续集成Android应用》 构建后步骤

已有的字段就用默认的设置,不需要修改;点击 Advanced Settings,在Triggers中进行设置。

《Jenkins+Git+Gradle 持续集成Android应用》 构建失败添加收件人

这里需要说明下:按照图中的描述,这里是说构建失败发送给开发,那么开发是指谁呢?是指
此次构建与上次构建之间提交代码的人 ,邮箱地址会通过git的提交记录中获取。

点击
Add,选择
Recipient List ,这里的
Recipient List 是我们在系统设置中填写的收件人,如果除了默认的收件人还需要增加其他收件人怎么办?

《Jenkins+Git+Gradle 持续集成Android应用》 默认收件人

就是刚进入
Editable Email Notification的时候里有默认的参数设置
Project Recipient List,在这个里面继续添加需要通知的人员邮件地址,用逗号隔开。

然后点击
Add Trigger,增加触发邮件通知条件。

《Jenkins+Git+Gradle 持续集成Android应用》 编译成功通知

其他,增加收件人配置与上面一致。

到这里,Jenkins的所有的配置都已经完成了。

    原文作者:seph_von
    原文地址: https://www.jianshu.com/p/a8e29c58dbf2
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞