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 any

   stages {
      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脚本添加构建后发送邮件

在这里插入图片描述
poststages平级,放在stages后面:
stages是构建的核心流程
post是构建后操作
post可以根据stage执行的情况而选择执行不同的代码
在这里插入图片描述
post的写法参考流水线语法:
在这里插入图片描述

always:无论构建成功与否,都会执行always里面的代码
在这里插入图片描述
failure:stage执行失败后走的代码:
在这里插入图片描述
successfailure就类似于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.rpm

vi /etc/sysconfig/jenkins
systemctl start jenkins

yum 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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章