Mac环境下Android的Jenkins自动化打包以及邮件通知

背景

  当时在学习如何用jenkins进行自动化打包的时候,去网上找了各种资料,感觉比较零碎。所以这里我将整个流程完整的梳理一遍


一、下载安装jenkins

这里有两种方法可以用。第一种操作方便,可以直接下载安装包,但是安装包会有一些莫名的问题。第二种操作繁琐一点,需要操作命令行,直接命令行安装:

  1. 直接登录官网下载:
    jenkins的官网下载地址:https://jenkins.io/download/
    因为这里是Mac下面所以需要选择MacOS的版本:(左边是稳定版本,右边是测试版本,所以一般都是选择左边的)
    1-1-1.png

    下载完成以后直接点击安装就可以了。之后在浏览器输入链接:http://localhost:8080 就行
  2. 命令行下载安装(推荐使用):
      ①.使用brew下载安装Jenkins(如果事先没有安装过brew工具的童鞋可以参考这篇文章):
    1-2-1.jpg
1-2-2.jpg

我这边是因为之前安装过了,所以这里会提示已安装,如果是没有安装过的会提示XXfiles,XXMB,built in XX minute XX seconds.
  ②.安装完成后,在终端输入Jenkins启动:

1-2-3.png

这个地方可能会出现一个错误,由于Jenkins安装后的端口号是8080,所以很容易会跟其他服务的端口号冲突,这个时候就需要修改端口号,命令行输入(本文默认全部使用8080端口)

vim /usr/local/opt/jenkins/homebrew.mxcl.jenkins.plist

打开以后如下图所示(初次使用vim的小伙伴可以注意下,在进入vim编辑器以后,需要随便敲一个字符才能进入编辑模式,敲ESC键,退出编辑模式。输入:wq保存并退出。有兴趣了解更深的小伙伴可以参考linux VIM基本命令)

1-2-4.png

进入编辑模式,修改--httpPort=XXXX端口号可以尽量选择生僻点的,避免跟其他端口冲突
  ③.打开浏览器输入链接:http://localhost:8080就行了

二、Jenkins的环境配置

  1. 打开页面首先进入的是一个解锁页面,这里由于我之前已经配置好了,这个页面不会出现,所以我从网上找了张图,大概就是这个样子的:


    2-1-1.png

路径会有所不用,Mac下面路径这个

/Users/你的Mac用户名/.jenkins/secrets/initialAdminPassword

在这个路径下找到对应的密码输入

  1. 之后进入插件安装的页面,这个页面下直接选择[安装推荐的插件]。基本没什么问题,如果出现插件安装失败,可以参考这篇博客Jenkins插件下载失败两种处理办法.
  2. 接下来就是环境变量的配置:
      ①.首先点击左侧系统管理,看到系统设置,点击进入(无视掉上面的警告和提示吧,对主流程没什么影响):
    2-3-1.png

      ②.进入系统设置页面
    2-3-2.png

选择环境变量,点击Add,设置SDK的环境变量,Name的话一定要输入ANDROID_HOME,Value就是SDK当前SDK所在的目录.


2-3-3.png

设置Jenkins的URL,如果是本机的jenkins,那么直接设置localhost:8080。如果是服务器上面的Jenkins,那么设置服务器的IP就OK了。
设置邮箱地址,这里设置的是系统管理员邮箱,下面有地方会用到。要确保设置正确。


2-3-4.png



上面的Extended E-mail Notification和下面的邮件通知输入的内容保持一致即可


2-3-5.png

SMTP服务器就是上面系统管理员邮箱的SMTP,本文选择的是网易163邮箱,所以设置的是smtp.163.com。如果是QQ邮箱,那么设置的是smtp.qq.com。后缀就是邮箱地址@后面的内容。这里重点说明一下用户名需要跟系统管理员邮箱保持一致,而且密码是各大邮箱的授权码,并不是邮箱的登录密码,要切记,否则邮件就会发送失败。其他就按照图示写就可以了。然后点击保存。
附:
网易163邮箱授权码获取教程
QQ邮箱授权码获取教程
新浪邮箱授权码获取教程
阿里云邮箱授权码获取教程
谷歌邮箱授权码获取教程

  ③.系统管理->全局工具配置

2-3-6.png

JDK installations一栏里面点击Add JDK,Name随便取,不过最好对应好版本号;JAVE_HOME就设置为当前Mac下Java的安装路径。当然也可以设置成自动安装


2-3-7.png

git一栏配置:Path to Git executable里面设置的就是Git的安装路径(不知道Git安装目录的小伙伴可以参考这篇文章Mac和Windows快速查看git安装目录)


2-3-8.png

gradle配置:一样名字最好跟着版本号,GRADLE_HOME就设置为gradle的安装目录


2-3-9.png

Maven库的配置(如果项目里面没有用到maven库,这一项可不必添加):同上
最后点击保存


三、项目配置

  1. 新建任务:


    3-1-1.png

输入应用名字,选择构建一个自由风格的软件项目,点击OK

  1. 进入项目配置页面:


    3-2-1.png

(本文选择的是git,如果有小伙伴是用SVN的,需要选择第三个radiobutton:Subversion.)输入git服务器上面可以clone的项目的地址。
然后添加证书:


3-2-2.png

类型如图设置,UserName和Password填写Git服务器上面你登录的用户名和密码,点击添加就OK了。

  1. 项目配置页面往下拉,有个Add build step按钮,点击选择Invoke Gradle script。出现下图所示:


    3-3-1.png

先选择Invoke Gradle:Gradle Version里面选择之前系统设置里面配置好的那个Gradle(这个时候Gradle的名字增加版本号的优势就体现出来了,你可以选择你想要的版本的gradle)
在选择Use Gradle Wrapper:Tasks里面填写build


此时需要点击保存,然后立即构建项目,将项目从git上面拉下来到jenkins目录下。然后在重新打开配置页面,页面下拉到同一个位置,右下角的Advanced按钮点击出现如下画面:

3-3-2.png

在jenkins目录下面找到刚才从git上面下拉的项目的路径,将项目中的build.gradle 路径写入Build File里面

  1. 继续往下拉,有个Add post-build action按钮,点击按钮选择Editable Email Notification,然后点击最下面Advanced settings按钮,出现如下图示:


    3-4-1.png

点击Add Trigger选择发送邮件的时机,我这里选择了总是,也就是说只要Jenkins进行一次打包,不论成功失败都会发送一次邮件。然后点击Advanced按钮:


3-4-2.png

Add按钮点击选择要发送邮件的集合,本文选择了开发者和接受者列表集合。
接下来设置邮件接收列表集合。Content里面的内容根据项目需求填写,其他的可以直接按照如图所示填写即可。
最后点击保存


PS:另外点击Add post-build action可以再设置E-mail Notification,设置对应的邮箱。不过我试了下在没有设置这个的情况下,Jenkins依然可以打包发送邮件,只是多了个警告,不知道哪位大佬可以解惑一下

Not sending mail to unregistered user [email protected] because your SCM claimed this was associated with a user ID ‘xxx' which your security realm does not recognize; you may need changes in your SCM plugin
Sending email to: [email protected]

四、项目运行

4-1.png

左侧菜单栏点击立即构建,Jenkins就会进行自动化打包了,耐心等候几十秒到两三分钟左右的时间,打包完成后会在邮箱里面收到一封邮件。打包log最后出现:

Sending email for trigger: Always
Sending email to: [email protected]
Finished: SUCCESS

就代表打包顺利完成。

参考博客:

Android 使用 Jenkins 实现自动化打包【流程】&【踩坑】
MAC上搭建Jenkins实现Android自动打包
Jenkins 配置自动发送邮件,测试邮件发送失败
Mac 使用HomeBrew安装的Jenkins修改端口号

你可能感兴趣的:(Mac环境下Android的Jenkins自动化打包以及邮件通知)