什么是持续集成
持续集成是一种软件开发实践,即开发者多次的将代码集成到主干中,通过持续的编译,能够及时的发现代码库中存在的错误,并且支持测试和产品及时的取包进行测试。
集成条件
一台持续集成服务器:这台服务器的任务是从代码托管服务器自动拉取最新的代码,并且进行代码的编译和打包输出app的安装包,同时发邮件提示团队的其他成员。一般情况下移动端产品都有Android和IOS两个平台,为了兼顾,会选择Max OSX系统。但本文介绍的话,选择了我自己用的Ubuntu系统,并且只搭建Android端的环境。
另外就是需要一个集成工具jenkins
Jenkins的安装
Jenkins的安装有两种方法
- 在Jenkins的官网 下载最新的war包。直接在终端中执行下面的命令就可以了(前提安装了jdk并且配置了相关的环境变量)
1 |
|
这样Jenkins就启动了,war包中自带jetty服务器,安装现在就完成了。第一次启动Jenkins时,出于安全考虑,Jenkins会自动生成一个随机的按照口令。复制下来一会访问页面的时候需要验证。
- 通过tomcat部署jenkins,在Ubuntu上安装Tomcat也很简单,一行命令
1 |
|
安装成功tomcat后,将第一种方法下载的jenkins的war包放到tomcat的webapps目录下就可以了,具体的位置在
1 |
|
下面看看安装的成果:
第一种方法访问
1 |
|
第二种方法访问
1 |
|
在按提示验证过后即可打开jenkins的首页
Jenkins插件的安装
Jenkins构建Android Studio工程需要安装下面的插件
Gradle plugin: 支持执行gradle构建脚本
Git plugin: 代码仓库是基于git的话,用于支持Jenkins拉取远程代码。
SSH Credentials Plugin: SSH 证书插件,用于支持Jenkins支持本地存储SSH证书。
点击Jenkins的系统管理->插件管理->可选插件,里面可以搜到所需要的插件。
tip:如果在下载插件中出现了失败,也可以点到插件详情里,手动的下载下来,然后在插件管理->高级中手动的安装。
Jenkins全局配置
点击Jenkins首页, 系统管理->全局工具配置,可以进入jenkins的全局配置页面。这个页面中进行jdk,git和gradle的配置
Android项目构建配置
在Jenkins首页“新建” -> “构建一个自由风格的软件项目”并输入Item名称
这样在Jenkins首页就看到这个项目了,点击进入项目详情页,点击左侧的配置,我们用git仓库为例配置代码库,找到“源码管理” ->选择git,如果使用HTTP协议直接配置HTTP地址即可,如果使用了SSH方式访问git,需要配置Credentials,点击“Add”->jenkins, 在Kind中选择“SSH Username with private key”, Username 选择服务器主机用户,例如:root, Private Key 选择 Enter directly,将你服务器的ssh私钥复制过来,然后保存,这样在Credentials中选择该用户就可以了。
接下来配置你构建的分支
- 构建
“添加构建步骤” -> “invoke Gradle script” -> “invoke Gradle” 选择我们在全局工具配置中配置的gradle版本
Tasks配置任务
- 构建后操作
获取构建成功后的apk文件,然后发送邮件给相关人员
- 点击立即构建,如果没问题的话一会就有构建成功的提示。