持续集成平台 Jenkins

优质
小牛编辑
165浏览
2023-12-01

1 概念

Jenkins可选配置参数相当多。基本可以归为这么几类:

  • 构建触发配置:例如配置gitlab提交代码触发构建,或者每天、每周定时触发构建
  • 构建工具配置:例如配置jdk/maven/gradle等
  • 构建后配置:例如配置发送邮件、自动开jira bug等

Jenkins的外挂工具,都是通过插件机制来解决的,常见插件如下:

  • iOS专用:Xcode integration
  • Android专用:Gradle plugin
  • Gitlab插件:GitLab Plugin 和 Gitlab Hook Plugin
  • Git插件: Git plugin
  • GitBuckit插件: GitBuckit plugin
  • 签名证书管理插件: Credentials Plugin 和Keychains and Provisioning Profiles Management
  • FTP插件: Publish over FTP
  • 脚本插件: Post-Build Script Plug-in
  • 修改Build名称/描述(二维码): build-name-setter / description setter plugin
  • 获取仓库提交的commit log: Git Changelog Plugin
  • 自定义全局变量: Environment Injector Plugin
  • 自定义邮件插件: Email Extension Plugin
  • 获取当前登录用户信息: build-user-vars-plugin
  • 显示代码测试覆盖率报表: Cobertura Plugin
  • 来展示生成的单元测试报表,支持一切单测框架,如junit、nosetests等: Junit Plugin
  • 其它: GIT plugin / SSH Credentials Plugin

2 初始化安装配置

项目使用

2materials/3.platform/.1 新增项目

2materials/3.platform/.1materials/3.platform/.1 源码管理

常用的两种触发构建:

  • 触发远程构建

以GitLab为例,GitLab提交代码,触发编译

  • Poll SCM

Poll SCM的格式为crontab的时间格式:

*    *    *    *    *
分    时    日    月    星期

分:0-59
时:0-23
日:1-31
月:1-12
星期:0-7(0和7指的都是星期天)

上图的意思为:每天晚上00:00编译

2materials/3.platform/.1materials/3.platform/.3 构建环境

常见的构建包括:

  • 执行Gradle/Maven编译
  • 执行bash脚本
  • 执行SonarQube Scan
SonarQube 配置

在需要使用SonarQube Scanner的项目中,增加文件sonar-projectmaterials/3.platform/.properties,参考示例如下:

# Required metadata/必要字段
sonarmaterials/3.platform/.projectKey=zjk_oa_android:master

sonarmaterials/3.platform/.projectName=张家口OA-Android
sonarmaterials/3.platform/.projectVersion=1materials/3.platform/.0

# 设置为当前路径
sonarmaterials/3.platform/.sources=materials/3.platform/.

# 设置待检查项目的语言类型
sonarmaterials/3.platform/.language=java

# Encoding of the source files
sonarmaterials/3.platform/.sourceEncoding=UTF-8
sonarmaterials/3.platform/.javamaterials/3.platform/.binaries=materials/3.platform/.

2materials/3.platform/.1materials/3.platform/.5 构建后操作

常用的构建后操作:

  • 开Jira问题
  • 发邮件
  • 自动部署及发布编译完产品

2materials/3.platform/.2 执行构建

查看构建日志

3 示例

3materials/3.platform/.1 Android持续集成

3materials/3.platform/.1materials/3.platform/.1 配置Android SDK(毫末科技公司的环境已经配置好)

  • 下载sdk-tools-linux
  • 命令行安装build tools: cd tools && materials/3.platform/./android update sdk -u -a -t build-tools-26materials/3.platform/.0materials/3.platform/.2
  • 配置ANDROID_HOME

配置截图如下:

完整操作流程如下:

3materials/3.platform/.2 前端持续集成

3materials/3.platform/.3 SpringMVC持续集成

类似Android

4 FAQ

4materials/3.platform/.1 如何查看构建过程

  • 打开Console Output查看日志

5 参考