Jenkins Android自动化打包

公司一直使用的是人肉打包的方式,各种环境,配置项的变更,改来改去,非常容易出错,也影响开发人员的日常开发。特地研究下Jenkins来改善这一工作流程。

首先需要下载Jenkins.https://jenkins.io/download/
由于我是Mac,原先使用Mac OS X 时,jenkins会自动安装在共享目录下并新建jenkins用户,实际使用中发生了很多文件权限的烦恼,这次我直接下载个war,到下载目录下用命令行
java -jar jenkins.war。启动

Jenkins Android自动化打包

基础的配置后,我们在游览器中进入主页面
下面是插件的安装,包含了git ,git parameter. gradle

Jenkins Android自动化打包

Jenkins Android自动化打包

其次在系统设置中去设置ANDROID_HOME。
全局工具配置 中设置java,gradle,git工具。

Jenkins Android自动化打包

接着创建新任务,

Jenkins Android自动化打包

Jenkins Android自动化打包

主要是创建参数化构建过程,添加选项,比如取哪个分支,配置什么环境的访问地址(内网测试环境或者外网的生产环境,版本号,版本名称等)

Jenkins Android自动化打包

Jenkins Android自动化打包

参数化构建需要勾选build中的pass all job parameters as Project properties。这样你上面的选项才会在构建项目中生效。
Jenkins Android自动化打包

git代码仓库的访问地址设置。
Jenkins Android自动化打包

下面看看我们的项目中相应的变动

首先在gradle.properties中加入 environment. appVersionCode,appVersionName.
Jenkins Android自动化打包

在app-gradle文件中 去设置versionCode ,versionName, 加buildConfigField字段:environment.
Jenkins Android自动化打包

最后在项目中地址设置的地方判断传递进来的构建地址。
Jenkins Android自动化打包

Build with Parameters 选择构建配置,选择分支,环境。。。点击Build按钮后,会在本地项目的build文件夹下找到你要的包。
Jenkins Android自动化打包

另外加上fir.im上传插件会自动将包发布到fir.im上,提供下载。还是非常方便
http://blog.fir.im/jenkins/
Jenkins Android自动化打包