如果将软件工程看成软件的生产过程,软件工程师是这个生产过程中的一种劳动者,生产工具是这个生产过程中的劳动资料,知识是这个生产过程中的劳动对象,我们就会发现,这就是马克思的生产力理论三要素。从生产力三要素的角度来看软件工程的意义,在于为我们提供了更多的可操作性,这里我们着重从生产工具要素考虑提高软件工程生产力,通过生产工具提高团队间协作能力,规范打包流程,识别并解决那些需要重复操作的知识。
在没有引入自动化打包平台时,在测试阶段固定时间人为操作打包并上传至指定下载平台,质控与开发人员沟通确认是否问题已修复,然后进行验证,这样就会导致需要预留人员专门负责进行打包,增加了质控与开发人员沟通成本及随着项目逐渐庞大,配置化参数过多,打包编译时间过长,修复问题后只能在固定时间打包验证,提高问题验证效率遇到瓶颈,引入自动化提高效率去除重复操作势在必行。
一. 下面我将介绍引入Jenkins在Android自动化打包的具体实践
1、基础环境搭建
主要依赖于Jenkins,容器选择tomcat,首先到Jenkins的官网下载https://jenkins.io,主要有两个版本LTS
Release(长期支持版本),Weekly
Release(每周更新版本),考虑迁移、稳定等问题,这里使用LTS Release
war包+tomcat+jdk8+gradle。
插件选择:
Git Plugin
Gradle Plugin
SSH Build Agents Plugin
Dynamic Parameter Plugin
Git Parameter Plugin
Build name setter
Post-Build Script Plugin
User build vars plugin
插件安装完毕后,下面进行基础环境配置,首先进入系统管理->全局工具配置,分别配置git、gradle、jdk环境信息。
JDK:别名=任意,JAVA_HOME=JDK目录
Git:别名=任意,Path to Git executable=Git安装目录/bin/git