0%

搭建Jenkins自动化构建环境


最近公司想搭建自动化构建平台,由于以前自己在空闲时间折腾过jenkins搭建相关的东西,领导就把这个任务交给了我,虽然以前在自己的电脑上搭建过,由于时间过去太久了,当时又没做记录,搭建的时候还是踩了不少坑,不过在google爸爸的帮助下,翻阅各种资料,最后都爬坑解决,所以这里对再此搭建做一个记录,避免以后遗忘。


连接远程服务器

  1. ssh -p 端口号 服务器用户名@ip
  2. 输入密码

    安装jenkins相关依赖包

    安装java

  • java -version
  • 如果没有显示版本号则需要安装,安装命令sudo yum install java

    安装jenkins

  • 添加安装源
    sudo wget -O /etc/yum.repos.d/jenkins.repo http://jenkins-ci.org/redhat/jenkins.repo
    sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
  • 安装
    yum install jenkins

    jenkins安装目录

    /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

    创建项目并配置

  1. 选择New任务,新建一个项目
  2. 输入一个项目名称
  3. 选择构建一个自由风格的软件项目,点击左下角的ok
  4. 输入项目的文字描述
  5. 勾选丢弃旧的构建,设置保留的构建天数和保留的最大构建数
  6. 勾选参数化构建过程,添加不同类型的参数
  • 布尔值参数
  • 文本参数

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


  1. 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
  1. Build Triggers配置轮询构建和定时构建

    定时构建: 无论git中有无提交,均执行定时化的构建任务

    轮询构建: 查看git中是否有提交,如果有,则执行构建任务
    每隔5分钟构建一次
    H/5 * * * *
    每两小时构建一次
    H H/2 * * *
    每天中午下班前定时构建一次
    0 12 * * *
    每天下午下班前定时构建一次
    0 18 * * *
  2. Build Environment设置构建名称
  • 勾选Set Build Name,这里填写的参数对应上面设置的参数,保持名称一致
    打包后展示的效果如下:
  1. 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配置文件中,实现参数化打包
  1. 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,可以选择触发器类型,不管构建成功失败总是触发(默认),成功时触发,失败时触发
  • 此时项目配置完毕

    打包流程

  1. 选择要打包的项目
  2. 点击Build with Parameters,进入打包前的参数配置流程
  3. 配置好打包的参数,点击build开始打包
  4. 点击打包进程可查看相关信息
  5. 点击Console Output可查看打包日志
  6. 如果配置了邮件通知,打包完成后邮箱会收到一封邮件