最近公司想搭建自动化构建平台,由于以前自己在空闲时间折腾过jenkins搭建相关的东西,领导就把这个任务交给了我,虽然以前在自己的电脑上搭建过,由于时间过去太久了,当时又没做记录,搭建的时候还是踩了不少坑,不过在google爸爸的帮助下,翻阅各种资料,最后都爬坑解决,所以这里对再此搭建做一个记录,避免以后遗忘。
连接远程服务器
java -version- 如果没有显示版本号则需要安装,安装命令
sudo yum install java安装jenkins
- 添加安装源
sudo wget -O /etc/yum.repos.d/jenkins.repo http://jenkins-ci.org/redhat/jenkins.reposudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key - 安装
yum install jenkinsjenkins安装目录
/var/lib/jenkins/jenkins配置文件目录
/etc/sysconfig/jenkins - 主要参数:
- JENKINS_HOME:Jenkins的主目录,Jenkins工作目录,储存文件的地址,Jenkins的插件,生成的文件都在这个目录下
- JENKINS_USER:Jenkins的用户,拥有$JENKINS_HOME和/var/log/jenkins的权限
- JENKINS_PORT:Jenkins的端口,默认端口是8080
启动jenkins服务
sudo service jenkins start - 此时在浏览器中输入:http://<服务器ip>:8080/ 就可以进入Jenkins界面,8080是默认端口号
停止jenkins服务
sudo service jenkins stop创建项目并配置

- 选择New任务,新建一个项目

- 输入一个项目名称
- 选择构建一个自由风格的软件项目,点击左下角的ok

- 输入项目的文字描述

- 勾选丢弃旧的构建,设置保留的构建天数和保留的最大构建数

- 勾选参数化构建过程,添加不同类型的参数

- 布尔值参数

- 文本参数


- 选项参数

- git Parameter

- dynamic Parameter
打包前,要配置这些参数,配置界面展示效果如下:


- Source Code Management配置git远程代码仓库
- 复制项目地址并填入Repository URL
- Credentials,点击add,选择jenkins账户(jenkins统一用这个),该账户需加入项目,拥有代码拉取权限
- 配置成功后不会有红字错误提示
- 有的项目克隆比较慢,可能会有克隆超时导致构建失败的问题,可以把这个超时时间改大一点,需要添加一个配置

- Additional Behaviours点击Add

- 选择Advanced clone behaviours

- 修改Timeout (in minutes) for clone and fetch operations的值,改大一点60
- Build Triggers配置轮询构建和定时构建

定时构建: 无论git中有无提交,均执行定时化的构建任务
轮询构建: 查看git中是否有提交,如果有,则执行构建任务
每隔5分钟构建一次H/5 * * * *
每两小时构建一次H H/2 * * *
每天中午下班前定时构建一次0 12 * * *
每天下午下班前定时构建一次0 18 * * * - Build Environment设置构建名称

- 勾选Set Build Name,这里填写的参数对应上面设置的参数,保持名称一致
打包后展示的效果如下:
- Build构建方式(Android以gradle为例)

- 点击add build step,选择Invoke Gradle script
勾选Invoke Gradle,选择Gradle Version为gradle4.6
- 填写task,配置gradle打包命令
clean assemble${BUILD_TYPE} --stacktrace,这里的BUILD_TYPE引用前面配置的 - 点击Advanced选项,勾选Pass all job parameters as Project properties,将上面的配置参数全部传入gradle.properties配置文件中,实现参数化打包

- Post-build Actions
- 点击add Post-build Actions,选择归档成品,提取打包后的apk文件

- Files to archive填入过滤规则

- 在所有文件中过滤apk文件
- 点击add Post-build Actions,配置打包后的邮箱通知

一般情况下使用默认配置就可以,直接引用全局配置中已经配置过的参数。
如果要修改接收人邮箱,编辑Project Recipient List,多个邮箱地址,空格隔开
如果要修改发送邮件的内容,可编辑以下几项 - Content Type 文本类型,可配置html、纯文本、纯文本和html
- Default Subject 邮件标题
- Default Content 邮件内容
打包日志压缩并添加附件,Attach Build Log选择Compress and Attach Build Log
邮件发送触发器配置,点击Advanced选项,编辑Triggers选项,点击Add Trigger,可以选择触发器类型,不管构建成功失败总是触发(默认),成功时触发,失败时触发 - 此时项目配置完毕
打包流程

- 选择要打包的项目

- 点击Build with Parameters,进入打包前的参数配置流程

- 配置好打包的参数,点击build开始打包

- 点击打包进程可查看相关信息

- 点击Console Output可查看打包日志

- 如果配置了邮件通知,打包完成后邮箱会收到一封邮件