jenkins与持续集成

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。(百度百科)

持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。(百度百科)

这个两个概念讲得太抽象了。

首先了解传统的软件开发部署的流程

到使用jenkins进行部署的流程

下载jenkins的war包

-下载jenkins的war包,war是不需要安装的,直接下载war包就好。

官网:https://www.jenkins.io/zh/download/





启动jenkins

  • 直接使用java命令启动jenkins的war包

    这个命令是linux、mac、windows都可使用。

    java -jar jenkins.war --httpPort=8080

    后台启动,退出shell窗口后也可以继续访问

    nohup java -jar jenkins.war --httpPort=8080 &



看到:Jenkins is fully up and running,代表jenkins启动了

  • jenkins部署到tomcat中

    tomcat是应用服务器。

    需要先配置后java环境

    如果端口冲突,

    启动tomcat,

    停止tomcat,

    tomcat的日志,

  • 在docker运行jenkins

  • 浏览器访问:locaolhost:8080

jenkins初始化(以使用java命令启动为例)

  • 等待jenkins启动完毕

    看到:Jenkins is fully up and running,代表jenkins启动了

  • 本地浏览器访问:locaolhost:8080

    会看到提示在什么位置查看初始密码,如:/home/uni/.jenkins/secrets/initialAdminPassword



    打开另外的命令行窗口,cat /home/uni/.jenkins/secrets/initialAdminPassword



    d5b1f3675a6646ba939aa778201ccb83

  • 输入初始密码,进入jenkins

    问题:该Jenkins实例似乎已离线

  • 安装建议插件

  • 创建管理员用户

    docker启动:Uni 123456

第一个工作任务























ps:变量引用得使用双引号

jenkins的job机制与单元自动化任务

jenkins节点管理

  • git配置后进行握手

    ssh git@github.com
root@uni-virtual-machine:~/.ssh# ssh git@github.com
The authenticity of host 'github.com (52.74.223.119)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? y
Please type 'yes' or 'no': yes
Warning: Permanently added 'github.com,52.74.223.119' (RSA) to the list of known hosts.
PTY allocation request failed on channel 0
Hi huanghoujie18! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.

第一次握手时需要进行确定,输入yes。

第二次握手时,就不会再提示。

jenkins用户权限控制

jenkins配置Email

  • Email通知的需求

    为了降低沟通成本,及时了解情况

  • 下载Email插件

  • 配置发送邮件的基础信息

  • 邮件配置的基础信息可以再网页版邮箱中查看

    接收服务器

  • jenkins自带的邮件配置

  • Email插件的邮件配置

  • Email模版配置

    让发送的邮件格式更加好看。

    配置你关注的信息。

    常用的参数key值:

    构建结果

    构建脚本名称

    构建脚本编号

    构建项目描述。。。

  • 报警邮件触发条件

    规定邮件发出的条件,邮件太多等于没发,会让你淹没在邮件的汪洋大海之中。

    可以添加插件

    在default triggers设置规则:

    Falilure

    Fixed

    ps:这是对整个系统的触发规则。

  • 对job任务配置Email通知

    ps:可以配置新的触发条件,就可以不遵循配置的系统规则

邮件分组,针对不同的情况,给不同的人发送邮件。

支持钉钉、企业微信信息发送?

jenkins高级插件简介

jenkins强大的原因之一就是插件众多

插件帮助jenkins丰富自身原有的功能

  • 插件的安装方法

    插件搜索,可模糊搜索

  • 建议安装的插件

    Multiuple SCMs Plugin,复合代码库插件,可以添加多个git

    Rebuilder,

    Safe Restart Plugin,重启

    Pipeline,

    Text Finder,修改任务状态和任务结果

    Blue Ocean,皮肤

    ps:想到需要某个需求,可以搜索一下是不是有插件可以实现。

jenkins参数化构建

目的:

常用的参数:choice、boolean

  • how

    string parameter输入参数

    excute shell编写动作脚本

jenkins父子多任务运行

有先后次序关系的任务,比如:部署环境任务-验收测试任务,任务链

前驱任务稳定成功的条件下触发后续任务,在build triggers配置触发条件

前驱任务不稳定的条件下也被触发,使用Text Finder插件

前驱任务就算失败的条件下触发,

如何设定jenkins任务失败?shell退出状态非0,jenkins就会将任务标记为失败。

jenkins构建、部署web应用项目

iweb项目

从源码到可执行程序一键搞定

spring架构的web应用程序

把项目部署到tomcat

现在本地跑一下程序

部署流程:拉取源代码-maven打包-生成新的web应用war包-停止tomcat-删除tomcat原有的工程,部署新的war包-重启tomcat

小技巧:把项目部署到tomcat根目录下

Jenkins入门讲解(界面)

https://blog.csdn.net/abcnull/article/details/89404660

Jenkins详细教程

https://blog.csdn.net/Roger_CoderLife/article/details/100037104

jenkin—持续集成的更多相关文章

  1. fir.im weekly - 「 持续集成 」实践教程合集

    我们常看到许多团队和开发者分享他们的持续集成实践经验,本期 fir.im Weekly 收集了 iOS,Android,PHP ,NodeJS 等项目搭建持续集成的实践,以及一些国内外公司的内部持续集 ...

  2. 构建基于Jenkins + Github的持续集成环境

    搭建持续集成首先要了解什么是持续集成,带着明确的目标去搭建持续集成环境才能让我们少走很多弯路.持续集成(Continuous integration)简称CI,是一种软件开发的实践,可以让团队在持续集 ...

  3. jenkins+webhook+docker做持续集成

    简介:我们现在都流行把项目封装成docker的镜像,不过实际用的时候就会发现很麻烦,我们每次更改代码了以后都要打包成docker容器 ,事实证明项目比较多的时候真的会让人崩溃,我这边用spring c ...

  4. .NET Core 从 Github到 Nuget 持续集成、部署

    一.前言 Nuget 作为一个.NET研发人员,我想你都不会陌生,他为我们提供非常方便的程序包管理,不管是版本,还是包的依赖都能轻松应对,可以说是我们的好助手.而 Nuget 除了官方nuget.or ...

  5. 【转】基于Jenkins实现持续集成【持续更新中】

    知识预览 持续集成 Jenkins安装 Jenkins插件 Jenkins配置 Jenkins备份与恢复 发布PHP项目 SVN 发布Maven项目 按版本发布 远程管理 War文件部署设置 任务 J ...

  6. Jenkins Jenkins结合GIT Maven持续集成环境配置

    Jenkins结合GIT Maven持续集成环境配置   by:授客 QQ:1033553122 安装Git插件 1 安装Git客户端 1 安装JAVA JDK及MAVEN 2 Jenkins JDK ...

  7. 基于Jenkins实现持续集成【持续更新中】

    持续集成 1.什么是持续集成:Continuous integration (CI)持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生 ...

  8. Jenkins持续集成学习-Windows环境进行.Net开发2

    目录 Jenkins持续集成学习-Windows环境进行.Net开发2 目录 前言 目标 使用 .Net Stardard 单元测试 流程 手动执行单元测试 自动执行单元测试 单元测试报告 上传Nug ...

  9. Selenium自动化测试Python六:持续集成

    持续集成 欢迎阅读WebDriver持续集成讲义.本篇讲义将会重点介绍Selenium WebDriver API的在持续集成中的使用方法,以及使用Jenkins持续集成工具进行自动化测试的设计. 持 ...

随机推荐

  1. pikachu 目录遍历 敏感信息泄露

    目录遍历漏洞概述在web功能设计中,很多时候我们会要将需要访问的文件定义成变量,从而让前端的功能变的更加灵活. 当用户发起一个前端的请求时,便会将请求的这个文件的值(比如文件名称)传递到后台,后台再执 ...

  2. NOIP 模拟 $26\; \rm 神炎皇$

    题解 \(by\;zj\varphi\) 一道 \(\varphi()\) 的题. 对于一个合法的数对,设它为 \((a*m,b*m)\) 则 \(((a+b)*m)|a*b*m^2\),所以 \(( ...

  3. 「TJOI2019」唱、跳、rap 和篮球 题解

    题意就不用讲了吧-- 鸡你太美!!! 题意: 有 \(4\) 种喜好不同的人,分别最爱唱.跳. \(rap\).篮球,他们个数分别为 \(A,B,C,D\) ,现从他们中挑选出 \(n\) 个人并进行 ...

  4. com.github.ulisesbocchio:jasypt-spring-boot-starter:2.0.0引用了sping cloud Finchley.M8版本,一直报错说不能从阿里云下载

    解决方法: 1.找到idea或者eclipase中maven插件引向得settings.xml文件 2.修改文件中<mirror/>标签(配置仓库镜像用得)中<mirrorOf/&g ...

  5. 从350ms到80ms,揭秘阿里工程师 iOS 短视频优化方案

    内容作为 App 产品新的促活点,受到了越来越多的重视与投入,短视频则是增加用户粘性.增加用户停留时长的一把利器.短视频的内容与体验直接关系到用户是否愿意长时停留,盒马也提出全链路内容视频化的规划,以 ...

  6. ASP.NET Core教程:ASP.NET Core程序部署到Linux

    一.前言 这篇文章我们将讲解如何将ASP.NET Core 程序部署到Linux.这里我们使用的是虚拟机里面安装的Centos7.这里的ASP.NET Core程序,以上篇文章中发布的框架依赖文件为例 ...

  7. Mysql---C#在cmd中使用mysqldump导出sql文件

    一.概述 本文描述了在C#中利用mysqldump工具导出sql文件. 二.代码片段 CmdHelper类代码如下: public class CmdHelper { public static st ...

  8. 虚拟机--第一章走进java--(抄书)

    这是本人阅读周志明老师的<深入理解Java虚拟机>第二版抄写的,有很多省略,不适合直接阅读,需要阅读请出门左转淘宝,右转京东,支持周老师(侵权请联系删除) 第一章走近java 世界上并没有 ...

  9. ProjectEuler 005题

    题目: 2520 is the smallest number that can be divided by each of the numbers from 1 to 10 without any ...

  10. Servlet的类加载器

    Java虚拟机中内嵌的一个类加载器:Bootstrap,属于Java虚拟机的内核,负责加载Java核心包中的类(即rt.jar文件中的类):Java核心包中有另外两个类加载器:ExtClassLoad ...