Jenkins实现CICD

JenkinsCI简介

环境安装

使用 Jenkins 实现自动化集成部署,首先要准备三台服务器。

  • Git 服务器
  • 业务服务器
  • Jenkins 服务器

新建任务

在 Jenkins 管理页面,新建Item,也就是新建构建任务。
在这里插入图片描述
填写任务名称:
在这里插入图片描述

源码管理

在这里插入图片描述
分支配置:
在这里插入图片描述

构建配置

在这里插入图片描述

在配置windows批处理命令的时候,我们首先打开cmd,看看如何利用cmd启动我们的自动化项目:在cmd中输入以下命令:【因为jenkins执行代码步骤是和cmd一模一样的】
在这里插入图片描述

发送邮件

在这里插入图片描述
紧接着配置一下Jenkins的地址和系统管理员的邮箱地址
在这里插入图片描述
鼠标往下拉继续配置【邮件通知插件】的细节
在这里插入图片描述
之后在邮箱里面打开smtp的服务
在这里插入图片描述
上面可以申请授权码,获取授权码并填写在邮件插件的配置项里
在这里插入图片描述
填写好之后可以在最下面测试一下
在这里插入图片描述

配置自动化项目

找到我们的自动化项目任务
在这里插入图片描述
点击配置然后拉到最下面
在这里插入图片描述
填写你要发送邮件给谁【企业里面一般是企业微信邮箱,或者飞书邮箱】
在这里插入图片描述

定时构建

在这里插入图片描述
在这里输入脚本,修改时区
在这里插入图片描述
复制上面的修改时区的脚本指令:将时间改成上海
System.setProperty(‘org.apache.commons.jelly.tags.fmt.timeZone’,‘Asia/Shanghai’)
在这里插入图片描述
运行之后看结果是正确的,如果代码有误,result这一栏不会有任何打印
然后找到项目点击配置,并设置每隔两分钟跑一次构建
在这里插入图片描述

在Jenkins中设置定时项目的格式通常使用Cron表达式。Cron表达式是一种用于指定定时任务执行时间的格式,它由五个或六个空格分隔的时间字段组成,分别表示分钟、小时、日、月、周几以及可选的年份。

* * * * *
- - - - -
| | | | |
| | | | +----- 星期几 (0 - 7) (星期天为0或7)
| | | +------- 月 (1 - 12)
| | +--------- 日期 (1 - 31)
| +----------- 小时 (0 - 23)
+------------- 分钟 (0 - 59)

在这里插入图片描述

JenkinsCD简介

配置ssh保证其可以免登录

title 随意写, key 栏输入刚复制的公钥,可以用cat 命令来查看公钥,配置ssh的目的是实现自动登录git仓库而不用输入密码用户名。

在这里插入图片描述

接下来配置github的webhook

在这里插入图片描述

正式实现自动化打包master主分支的代码

首页 -> 系统管理 -> 插件管理 -> 可选插件 -> 选中 NodeJS 以及 Publish Over SSH -> 安装 -> 等待安装完成 (下载一下插件)
NodeJS: 代码运行环境
Publish Over SSH: 打包完成后发送到服务器

在这里插入图片描述
下面到拉取代码打包了,以前端代码为例:后端代码配置一样的,只是用的环境插件不一样而已。
首先配置全局 NodeJS 插件:
首页 -> 系统管理 -> 全局工具配置 -> NodeJS -> 新增
在这里插入图片描述
构建项目中新增 NodeJS 构建环境:
项目配置 -> 构建环境 -> 选择刚刚配置的 node 环境 -> 构建 -> 执行 shell -> 安装依赖 -> 打包 -> 压缩
echo “hello world”
npm install
npm run build
cd dist
tar zcvf dist.tar.gz ./*

在这里插入图片描述

将前端三剑客代码文件发送到网站服务器对应的tomcat

在这里插入图片描述
在这里插入图片描述

Jenkins面试题

  • 1、你用过jenkins吗,你知道jenkins是如何实现CI的吗?

1.安装和配置 Jenkins: 首先,在服务器上安装和配置 Jenkins。
2.创建 Jenkins 项目: 在 Jenkins 控制台中创建一个新项目(也称为作业或任务)。
3.设置源代码管理: 在项目配置中,配置您的版本控制系统(如 Git、SVN 等),
4.设置构建触发器: 在项目配置中,选择构建触发器为“定时构建(Build periodically)”,然后设置定时执行的 Cron 表达式。
5.配置构建步骤: 在项目配置中,添加构建步骤,以执行您的自动化代码和测试脚本。这可以是 Shell 脚本
6.设置邮件通知: 在项目配置中,添加邮件通知,配置 Jenkins 在构建完成后向团队成员发送构建状态更新和测试报告。
7.保存并触发构建: 完成项目配置后,保存配置并手动触发一次构建,以确保所有设置都正常工作。

  • 2、你是如何通过一系列配置来实现这些功能的呢?

首先,我在jenkins上用windows批处理输入能够运行代码的指令,这样就实现了手动执行自动化代码
然后,配置邮箱,发送邮件,这里用到了e-mail notification插件去发送邮件
最后,配置定时执行的时间,比如每天晚上九点执行自动化代码

  • 3、功能的Jenkins是你搭建的吗还是本来就有的?

如果公司是小公司就说自己搭建的
如果是中大型公司就说本来就有,我自己看过搭建文档的,我知道搭建流程

  • 4、为什么可以用windows批处理输入命令就可以运行代码了?

因为这里的执行和cmd里面执行是一样的,所以能运行代码

  • 5、配置邮箱过程中要配置密码,这个密码是邮箱密码吗?

不是的,是邮箱授权码

  • 6、jenkins你们是放到哪个服务器上?

公司的项目是放到linux上的,Jenkins是放到windows上的。

-7、 jenkins实现cd你了解多少?

1、配置仓库和分支,能够实现拉去master分支的代码到本地
2、配置webhook来通知jenkins,仓库里面的代码发生变化,需要重新拉去构建代码
3、打包我们拉取的master主分支代码,编译成为前端三剑客产物,以及后端jar包
4、通过publish over ssh的插件把前端三剑客产物推送到tomcat服务器下,并对外访问

  • 32
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值