持续集成平台 Jenkins
优质
小牛编辑
169浏览
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查看日志