Jenkins(二)
初识
Jenkins本身运行需要内存,持续构建(特别是大型构件)也需要占用内存(每次构建都会新建一个java进程),Jenkins的内存设置:
- JAVA_OPTS,设置Jenkins程序的JVM
- MAVEN_OPTS、ANT_OPTS,设置构建作业时创建的新JVM
目录结构:
- jobs/workspacee:每一个项目对应一个workspace,是Jenkins对该项目进行构建的地方
- jobs/builds:这个项目的构建历史,会随着时间增大,可以通过设置来限制构建历史
Jenkins配置
配置系统环境、配置全局属性、配置jdk maven git、配置邮件服务器、配置代理(内网不能直接访问外网时)
构建job
General
- Discard old builds 丢弃旧的构建
- 参数化构建
源码管理
- Git 需要安装插件,配置ssh公钥
构建触发器
- 远程构建
- 定时构建
- 轮询 SCM,定时访问git仓库,有提交变更就触发Jenkins构建
- GitHub hook trigger for GITScm polling 代码提交触发自动构建,需要一定配置 gitlab+jenkins自动化部署
构建环境
- Delete workspace before build starts 构建前删除workspace下的文件,可指定文件
- Add timestamps to the Console Output
构建
- 执行shell
- 调用顶层maven目标
-
目标栏 为maven命令:如 clean install,可使用参数有:
- -U (--update-snapshots),强迫maven检查本地和远程仓库的版本,确保构建时使用最新的版本
-
构建后操作
- Allure report
- Post build task
- 归档成品
自动化测试
参数化构建
配置:参数化构建过程,使用:${param}
远程触发参数化构建 JENKINS_URL/job/job_name/buildWithParameters?token=TOKEN_NAME¶m=${param}
多重结构构建job
job内的构建作业并行运行
分布式构建
主从结构
Jenkins维护
- Job配置,清除历史构建
- Disk usage插件,安装插件后需要重启Jenkins
- Jenkins内置的服务器活动监控功能:manage Jenkins页面,load statistics按钮,显示三个指标:总执行器数量、繁忙的执行器数量、队列长度
- monitoring插件