jenkins pipeline、用户权限管理、插件下载地址更改、凭证管理、自由风格项目构建、maven项目构建、常用的构建触发器、邮件发送、SonarQube代码审查
CI持续集成流程
pipeline
jenkins安装pipeline插件:
简单使用:
查看流水线语法:
片段生成器:
2.0以后推荐使用声明式语法:右侧下拉框是一些步骤,都可以自动生成
Declarative Directive Generator:文档
拉取代码
使用片段生成器checkout代码:
SCM的选项依赖于你安装的插件:
选择分支:
将“生成流水线脚本”复制:
生成的脚本:
checkout([$class: 'SubversionSCM', additionalCredentials: [], excludedCommitMessages: '', excludedRegions: '', excludedRevprop: '', excludedUsers: '', filterChangelog: false, ignoreDirPropChanges: false, includedRegions: '', locations: [[cancelProcessOnExternalsFail: true, credentialsId: '70892509-82d6-4997-8bda-49c80e8b7956', depthOption: 'infinity', ignoreExternalsOption: true, local: '.', remote: 'https://192.168.0.100:8443/svn/dm-springcloud/trunk/spring-cloud']], quietOperation: true, workspaceUpdater: [$class: 'UpdateUpdater']])
pipeline {agent anystages {stage('checkout from svn') {steps {checkout([$class: 'SubversionSCM', additionalCredentials: [], excludedCommitMessages: '', excludedRegions: '', excludedRevprop: '', excludedUsers: '', filterChangelog: false, ignoreDirPropChanges: false, includedRegions: '', locations: [[cancelProcessOnExternalsFail: true, credentialsId: '70892509-82d6-4997-8bda-49c80e8b7956', depthOption: 'infinity', ignoreExternalsOption: true, local: '.', remote: 'https://192.168.0.100:8443/svn/dm-springcloud/trunk/spring-cloud']], quietOperation: true, workspaceUpdater: [$class: 'UpdateUpdater']])}}}
}
编译打包
mvn clean package
也可以写成:
sh 'mvn clean package'
部署tomcat
需要安装相应的插件才会有deploy选项:
部署到tomcat:
jenkins脚本放到工程目录
在web UI界面编写脚本易失,一般推荐放到工程目录下,还可以进行版本控制
常用的构建触发器
触发远程构建
其他项目远程通过一个地址URL来触发当前项目的构建:
其他工程构建后触发
其他工程构建完毕后会触发当前工程的构建
定时构建
H/30 * * * * H代表传参,表示变化的意思 如:10:02 10:32 11:02...
0/30 * * * * 整点开始,每隔30分钟执行一次,如10:00 10:30 11:00 11:30
每2分钟构建一次:
每隔2分钟会自动触发构建:
轮询SCM
会扫描整个项目的代码,增大开销,不推荐使用。
每隔2分钟轮询一次:
当仓库中代码有变动,jenkins2分钟后轮询到仓库代码变化,会自动触发构建:
Git hook自动触发构建
jenkins的参数化构建
jenkins添加参数:
脚本改造:
创建v1分支,并在代码中做好标记:
就会从v1分支拉取代码:
发送构建结果到指定邮箱
安装Email Extension Template插件
jenkins设置邮箱相关参数
sina邮箱开启授权码:
腾讯企业邮箱貌似不用授权码即可配置。https://exmail.qq.com/
jenkins相关配置:
点【高级】按钮:SSL加密,端口都是465,不使用SSL,端口是25
测试右键发送:
准备邮件内容
以下三个都是jenkins的全局变量:
这些全局参数都可以从如下途径找到:
jenkins–configure system–Content Token Reference 点击右侧的?号:
这些变量可以直接在jenkinsfile脚本文件和email模板中使用。
push邮件模板:
编写jenkinsfile脚本添加构建后发送邮件
post
与stages
平级,放在stages
后面:
stages
是构建的核心流程
post
是构建后操作
post
可以根据stage
执行的情况而选择执行不同的代码
post
的写法参考流水线语法:
always
:无论构建成功与否,都会执行always里面的代码
failure
:stage执行失败后走的代码:
success
与failure
就类似于java中的try...catch...
可以通过片段生成器生成emailtext中的内容:
${FILE}
用于指定email邮件模板文件所在路径
to
指定收件人列表,如果是多个的话,用,
隔开
下面多了个@,要注意细节
测试
jenkins + SonarQube代码审查
SonarQube是用ES作为代码检索的工具,所以会启动es的服务
安装SonarQube
start stop status
查看sonar
启动日志:
该token是sonarqube与jenkins整合时的纽带
jekins整合SonarQube实现代码审查
jenkins通过SonarQube Scanner插件调用Sonar Scanner(安装在Linux机器,可以通过jenkins自动安装),sonar scanner就相当于一个SonarQube的客户端
搜索:SonarQube Scanner
jenkins配置sonarqube服务器:
添加凭据:
非pipeline项目添加SonarQube代码审查
也就是:自由风格项目和maven项目
构建时会自动进行代码审查:
在sonar的UI界面也可以看到结果:
pipeline项目添加SonarQube代码审查
在工程中添加sonar-project.properties
配置文件:
全局工具配置SonaeQube Scanner中的Name与下面的是一致的
scannerHome = tool 'sonar-scanner'
自由风格项目会自动去全局工具配置中找到scannerHome
小插曲
yum install java-1.80.-openjdk* -y
rpm -ivh jenkins-2.190.3-1.1.noarch.rpmvi /etc/sysconfig/jenkins
systemctl start jenkinsyum install unzip
修改jenkins插件下载地址
jenkins有1000多个插件。
jenkins–manage jenkins–manage plugins–可选插件
在【高级】中可以看到jenkins插件下载的地址:https://updates.jenkins.io/update-center.json
点击【可选插件】,等待页面加载完毕
jenkins的开发目录:
/var/lib/jenkins
/var/lib/jenkins/updates/default.json
中,将jenkins官方的地址替换成清华的地址,将Google替换成baidu:
``
sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json
重启jenkins:url后直接加上restart
192.168.52.30:8086/restart
安装jenkins中文汉化插件
ps: 2.230默认已经安装了汉化插件
jenkins用户权限管理
搜索:Role-based
保存。
jenkins凭证管理
maven安装和配置
ps:必须是M2_HOME
jenkins能构建的项目类型
自由风格项目构建
可选插件搜索:Deploy to container
保存即可:
查看日志:
查看tomcat的管理界面:
演示代码改动后的持续集成:
拉取下来的代码已经变成了最新的版本:
可以看到最新的内容了:
maven项目构建
搜索插件:Maven Integration
jenkins pipeline、用户权限管理、插件下载地址更改、凭证管理、自由风格项目构建、maven项目构建、常用的构建触发器、邮件发送、SonarQube代码审查相关推荐
- Jenkins修改插件下载地址为国内下载地址与安装中文插件
场景 CentOS中Jenkins的下载.安装.配置与启动(图文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/11649 ...
- 【教程转载】 火狐浏览器 实用插件一览(附插件下载地址)
[教程转载] 火狐浏览器 实用插件一览(附插件下载地址)简单介绍一下: 火狐浏览器(firefox)最大的优点就是安全.快速.稳定. 有些人抱怨火狐的功能太少,有些网页不能正常浏览. 没关系,这些都不 ...
- Qt安装vsaddin插件失败解决方案(vs、Qt、 vsaddin插件下载地址)
Qt安装vsaddin插件失败 最近换了新版本qt和vs,安装vs和qt都很顺利,结果安装插件时出错了. 插件名:qt-vsaddin-msvc2017-2.3.2.vsix 错误为: 之前没遇到过这 ...
- UE4/UE5 多线程开发 附件插件下载地址
原创文章,转载请注明出处. 虚幻引擎 多线程开发介绍 前言 封装的插件下载地址: UE4有线程池了,为什么我还要封装一个线程池? 1>FRunnable 2>TGraphTask 3> ...
- Eclipse常用插件下载地址
Eclipse常用插件下载地址 官方网站http://www.eclipse.org/downloads/index.php下载eclipse的最新版本 Eclipse 项目资源中心:http://w ...
- Notepad++常用插件下载地址
Notepad++是编程人员常用的软件,插件也是必须的,很多插件下载收费或者使用64位下载常被忽悠,经过多次碰壁获取这个地址,分享给需要的朋友 Notepad++插件下载地址 https://gith ...
- EXCEL2010数据挖掘插件 下载地址
EXCEL2010数据挖掘插件 下载地址 首先要安装sql server,再安装excel数据挖掘插件 ■SQL Server 2012 Microsoft SQL Server 2012 Evalu ...
- eclipse对应版本安装的STS插件下载地址,使用springboot
eclipse4.16.0版本安装STS插件下载地址: https://download.springsource.com/release/TOOLS/update/3.9.15.RELEASE/e4 ...
- 生死狙击类KZ身法插件下载地址及使用教程【风】
生死狙击更新KZ服务器?专为身法玩家打造! 这不是广告 为啥过不了审 [插件下载地址] 蓝奏云下载链接:https://wwld.lanzoul.com/b02d33jta 提取码:ac4a (如果链 ...
最新文章
- 深度学习(2)基础2 -- 分类:得分函数损失函数(损失、正则化惩罚项、梯度下降、学习率)概率
- android 高德地图设置不能旋转_你以为高德地图只是个地图,并不是?它其实还是个PPT制作神器...
- OpenCASCADE:Foundation Classes库组织
- Linux 下 新增Oracle10g 实例
- idea的英文是什么意思_德芙和多芬的英文都是Dove!“Dove”究竟是什么意思?
- day24 java的集合(1)collection
- 当Java代码遇上抽象、重载加重写,一切都不美好了
- 论文阅读:Pyramidal Feature Shrinking for Salient Object Detection
- 《统计学习方法》—— 感知机原始形式、感知机对偶形式的python3代码实现(三)
- Kylin Cube构建优化
- windows系统bat批处理 管理nginx启动 nginx脚本管理bat脚本管理生命周期windows一键nginx启动
- 第三届网络安全冬训营“朔雪飞扬”在哈尔滨开幕
- 宇枫资本女性如何理财致富
- ping服务器响应39ms,美国服务器的ping值多少网速才算快?
- 中美科学家造出“人-猴胚胎”,这会是魔幻剧情的开端吗?
- spring 中使用tdd_通过JavaScript中基于属性的TDD的钻石方块
- 《Did I Buy the Wrong Gadget?How the Evaluability of Technology Features Influences...》中英文对比文献翻译
- 第一台超高速巨型电子计算机,1997年,( )巨型机的研制成功,使我国在这个领域跨入了世界先进行列。...
- zblog忘记后台密码怎么办 官方解决方案
- 如何成为一名优秀的后端工程师
热门文章
- 【深度学习】深度学习三十问!一位算法工程师经历30+场CV面试后总结的常见问题合集(含答案)...
- 温州大学《机器学习》课程课件(二)(回归)
- 【特征工程】17种将离散特征转化为数字特征的方法
- 【白话机器学习】算法理论+实战之EM聚类
- 当面试官要求现场手敲代码,该如何体现你对Python的编程能力?
- 个性化推荐系统该如何评估,四种不同策略的角度
- LightGBM如何保存模型?
- 助力区域性银行突破困局,网易云信入选爱分析报告典型案例
- 技术系列课回顾 | 浅谈 Serverless 开发和应用
- 云信小课堂|5分钟快速实现安卓端PK连麦场景