jenkin—持续集成
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—持续集成的更多相关文章
- fir.im weekly - 「 持续集成 」实践教程合集
我们常看到许多团队和开发者分享他们的持续集成实践经验,本期 fir.im Weekly 收集了 iOS,Android,PHP ,NodeJS 等项目搭建持续集成的实践,以及一些国内外公司的内部持续集 ...
- 构建基于Jenkins + Github的持续集成环境
搭建持续集成首先要了解什么是持续集成,带着明确的目标去搭建持续集成环境才能让我们少走很多弯路.持续集成(Continuous integration)简称CI,是一种软件开发的实践,可以让团队在持续集 ...
- jenkins+webhook+docker做持续集成
简介:我们现在都流行把项目封装成docker的镜像,不过实际用的时候就会发现很麻烦,我们每次更改代码了以后都要打包成docker容器 ,事实证明项目比较多的时候真的会让人崩溃,我这边用spring c ...
- .NET Core 从 Github到 Nuget 持续集成、部署
一.前言 Nuget 作为一个.NET研发人员,我想你都不会陌生,他为我们提供非常方便的程序包管理,不管是版本,还是包的依赖都能轻松应对,可以说是我们的好助手.而 Nuget 除了官方nuget.or ...
- 【转】基于Jenkins实现持续集成【持续更新中】
知识预览 持续集成 Jenkins安装 Jenkins插件 Jenkins配置 Jenkins备份与恢复 发布PHP项目 SVN 发布Maven项目 按版本发布 远程管理 War文件部署设置 任务 J ...
- Jenkins Jenkins结合GIT Maven持续集成环境配置
Jenkins结合GIT Maven持续集成环境配置 by:授客 QQ:1033553122 安装Git插件 1 安装Git客户端 1 安装JAVA JDK及MAVEN 2 Jenkins JDK ...
- 基于Jenkins实现持续集成【持续更新中】
持续集成 1.什么是持续集成:Continuous integration (CI)持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生 ...
- Jenkins持续集成学习-Windows环境进行.Net开发2
目录 Jenkins持续集成学习-Windows环境进行.Net开发2 目录 前言 目标 使用 .Net Stardard 单元测试 流程 手动执行单元测试 自动执行单元测试 单元测试报告 上传Nug ...
- Selenium自动化测试Python六:持续集成
持续集成 欢迎阅读WebDriver持续集成讲义.本篇讲义将会重点介绍Selenium WebDriver API的在持续集成中的使用方法,以及使用Jenkins持续集成工具进行自动化测试的设计. 持 ...
随机推荐
- STP规则
1)每个网络的有且只有一个桥根 2)每个非桥根有且只有一个根端口: 3)每条链路有且只有一个指定端口: 4)根桥的所有端口均为指定端口: 5)根端口和指定端口都是forwading: 6)阻塞端口为B ...
- S3C2440—10.代码重定位
文章目录 一.启动方式 1.1 NAND FLASH 启动 1.2 NOR FLASH 启动 二. 段的概念 2.1 重定位数据段 2.2 加载地址的引出 三.链接脚本 3.1 链接脚本的引入 3.2 ...
- Arduino连接L298n驱动板驱动小车的电机
1.L298N介绍 先来讲讲电机驱动,驱动一般使用L298N,L298N 是一种双H桥电机驱动芯片,其中每个H桥可以提供2A的电流,功率部分的供电电压范围是2.5-48v,逻辑部分5v供电,接受5vT ...
- noip12
T1 类似于昨天的t3,先用单调栈求出管控区间,然后暴力求解30pts 我没取模还没开longlong,然后就爆0了 正解: 仍然是用单调栈求一下区间,用线段树维护一下余数,对于i所对应的区间\([l ...
- 【软件工具】Git 使用总结
本地库就是由 对象 和 引用 构成的,或者叫 Repositories;下面是我整理的常用 Git 命令清单.几个专用名词的译名如下. Workspace:工作区 Index / Stage:暂存区 ...
- jquery 操作checkbox是否选中的正确方法
对于checkbox,若要选中,需要用jquery的prop()方法,不要用attr(). <input type="checkbox" id="slide_che ...
- 不同的 count 用法
不同的 count 用法效率:在 select count(?) from t 这样的查询语句里面, count(*).count(主键 id).count(字段) 和 count(1) 等不同用法的 ...
- 网络流量预测入门(三)之LSTM预测网络流量
目录 网络流量预测入门(三)之LSTM预测网络流量 数据集介绍 预测流程 数据集准备 SVR预测 LSTM 预测 优化点 网络流量预测入门(三)之LSTM预测网络流量 在上篇博客LSTM机器学习生成音 ...
- 收下这7款插件,让你在使用 Vite 的时候如虎添翼
相信已经有不少小伙伴已经开始用 Vue3 做开发了,也一定使用上 Vite 了,而我今天要介绍的这几款插件,能让你在使用 Vite 做开发时如虎添翼. vite-plugin-restart 通过监听 ...
- 并发编程之:Atomic
大家好,我是小黑,一个在互联网苟且偷生的农民工. 在开始讲今天的内容之前,先问一个问题,使用int类型做加减操作是不是线程安全的呢?比如 i++ ,++i,i=i+1这样的操作在并发情况下是否会有问题 ...