Jenkins - 打造强大的前端自动化工作流

news2024/11/28 4:47:44

什么是 Jenkins?

    Jenkins 是一款业界流行的开源持续集成工具,广泛用于项目开发,具有自动化构建、测试和部署等功能。我们可以利用 Jenkins 来对项目的持续性集成进行管控处理。


 


Jenkins 任务的创建

    这里就简单不再累赘说明 Jenkins 的安装启动和账号的配置等初始化动作了。

1. 新建任务

根据实际用途选择类型,这里选择第一个“构建一个自由风格的软件项目”;输入名称点击确定按钮创建空的一个构建任务。

创建完成后接着配置项目构建任务的配置。


 


触发 git hook 的回调功能

    git hook 就是我们向github/码云等远程仓库push我们的代码时,jenkins能知道我们提交了代码,这是自动构建自动部署的前提,钩子的实现原理是在远端仓库上配置一个Jenkins服务器的接口地址,当本地向远端仓库发起push时,远端仓库会向配置的Jenkins服务器的接口地址发起一个带参数的请求,jenkins 收到后开始工作。

1. 配置 git 账号和仓库等配置

打开刚创建的任务,选择配置,添加远程仓库地址,配置登录名及密码及分支。

2. 添加触发器

若在任务配置中没找到如下图的模块,则需要先安装 Generic Webhook Trigger Plugin 插件(系统管理-插件管理-搜索Generic Webhook Trigger Plugin)如果可选插件列表为空,点击高级标签页,替换升级站点的URL为:http://mirror.xmission.com/jenkins/updates/update-center.json 并且点击提交和立即获取。

3. git 仓库配置钩子

需要在上面第二步中提示的 Url 和 Gitee WebHook 密码 同时配置到仓库当中。


 


实现项目的自动化构建与部署

1. 配置构建的环境

配置构建的环境需要先配置 Jenkins 所含有的 node 环境;需要进入(系统管理-全局工具设置- NodeJS 安装)进行所需的 node 版本。

打开刚刚的 Jenkins 任务,点击配置里面的构建环境,勾选图中红色方框的这个选项,并指定一个 node 版本。

2. 配置构建、部署脚本

点击构建,选择 “执行 shell” 选项,把要执行的 shell 脚本命令输进去,多个命令使用 && 分开;
这里仅简略写一些演示脚本,具体构建、部署脚本依照实际情况编写。

例如:

  • 安装项目依赖、运行 build 命令构建项目
  • 构建完成后拷贝相关资源到项目目录


 


实现构建和部署后的消息提醒

    这里我们使用 Extended E-mail Notification 该插件来扩展实现构建部署后的消息提醒。

  1. 打开系统管理-系统配置-Extended E-mail Notification,不是系统管理-系统配置-邮件通知,注意这里是配置用来发邮件的邮箱!

  1. 打开创建的那个任务,增加构建后操作步骤选择 Editable Email Notification,Project Recipient List那里写你要发给谁邮件,可以多个,用分号隔开。

  1. 然后点击 Advanced Settings-Triggers-Add Trigger(即上图的右下角的“Advanced Settings...”按钮),选择always,意思是无论什么情况任务执行完就发邮件,也可以选择其他模式,如任务执行异常了才发邮件。
    这里配置的接收邮件的地址是上图中所配置的接收邮件用户列表,这个可以根据实际进行调配。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/49626.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CF思维训练,2020长春CCPC(A,D)

D. Knowledge Cards(华容道GAME) 题意:给定n*m的矩阵,初始在左上角有一摞牌,从上到下每张的数字构成了一个长度为k的排列,请问在保证1.不能使得牌在移动过程中重叠2.不能让牌反复出现在左上和右下角。这两个条件下,能…

是不是Jenkins大神,看这几个技巧就够

01 Performance插件兼容性问题 自由风格项目中,有使用 Performance 插件收集构建产物,但是截至到目前最新版本(Jenkins v2.298,Performance:v3.19),此插件和Jenkins都存在有兼容性问题&#xf…

运筹说 第75期 | 数学家欧拉也玩跨界

莱昂哈德欧拉(Leonhard Euler)的一生,是为数学发展而奋斗的一生,他不但为数学界作出贡献,更把整个数学推至物理的领域。欧拉杰出的智慧,顽强的毅力,孜孜不倦的奋斗精神和高尚的科学道德&#xf…

用uniapp开发打包多端应用完整指南

一、uni-app项目介绍 用uni-app开发多端项目,一套代码可同时打包出各端小程序、h5和app,uni-app支持通过 HBuilderX可视化界面 和 vue-cli命令行 两种方式创建项目,下面示例项目采用 HBuilderX可视化界面 的方式创建,cli项目可参…

opencv c++ 图像梯度、边缘、锐化

图像梯度的目的: 获取图像上沿着某一方向或多个方向上,像素值的突变图像。 即: 对满足之间相互独立的函数, 求, 1、预备知识 1.1、常见的梯度计算算子 1.2、梯度计算方法 L2法: L1法: 1.3…

Packet Tracer - 比较 2960 和 3560

目标 第 1 部分:比较第 2 层和第 3 层交换机 第 2 部分:比较第 3 层交换机和路由器 拓扑图 背景信息 在本练习中,您将使用各种命令检查三种不同的交换拓扑,并且比较 2960 和 3560 交换机之间的异同。 您还将比较 1941 路由器和…

章鱼应用链|UniqueOne 构建一体化的 NFT 和元宇宙的体验

全长1325字,预计阅读 6 分钟 作者:MiX 章鱼网络生态候选应用链 UniqueOne 已经通过投票,近期将启动主网。 UniqueOne 正在构建「NFT市场-元宇宙-DeFi」结构的多层价值生态,UoNo NFT Marketplace 将无缝连接元宇宙 UniqueOne.Wo…

七个研究生必备高效科研网站

文章目录一、Papers With Code二、Connected papers三、Semantic Scholar四、Researcher五、Academic Phrasebank六、EndNote七、DeepL翻译一、Papers With Code Reddit用户rstoj做了一个网站,将ArXiv上的最新机器学习论文与GitHub上的代码(TensorFlow/…

RK3399 Android10 移除应用权限(包含USB)申请弹框

Android板外接了USB设备,每次开机后第一次启动我们的APP,都会弹出申请USB的弹框,客户使用起来很不方便,翻了一些文章和代码后通过修改UsbPermissionActivity.java实现。 我们看到此Activity是一个AlertActivity,也就是…

Zookeeper 实现分布式锁 -- 基于Curator

Zookeeper的四种节点类型 1、持久化节点 :所谓持久节点,是指在节点创建后,就一直存在,直到有删除操作来主动清除这个节点——不会因为创建该节点的客户端会话失效而消失。 2、持久化顺序节点:这类节点的基本特性和上…

postgres源码解析38 表创建执行全流程梳理--3

本文结合实例讲解表创建执行流程 [CREATE TABLE wp_shy(id int primary key, name carchar(20))],相关知识回顾见: postgres源码解析38 表创建执行全流程梳理–1 postgres源码解析38 表创建执行全流程梳理–2 执行流程图 transformCreateStmt函数是表创建真正的入口…

第十四届蓝桥杯模拟赛(第二场)题解·2022年·C/C++

前言 本场比赛是校内赛,总体感觉是DP规划比赛和简单数据结构比赛,但是要细心一点就可以了。 因为不知道答案,所以本题解只有一点参考意义,欢迎评论区和小熊同学讨论。 **不保证答案一定就是对的!!&#x…

退役了,总结的ACM近年区域赛的所有题型

之前写了个退役文章记录想记录下,但是没有内容,还是给删了,所以前面的是退役小记,后面是我个人写近2年所有区域赛场次记录的题型 目录 退役小记(没兴趣可以不看) 这里简单记下我的acm生涯 省赛和三场区…

Miniconda:在pycharm的terminal中无法使用Conda命令

在pycharm的terminal中无法使用Conda命令 问题: 在本地下载好conda系列后,在pycharm的terminal中无法使用conda命令 问题分析: 说的很清楚了,是因为当前支持的shells没有初始化conda 所以我们只需要把Shell 路径改成激活cond…

腾讯云架构师整理总结的MySQL性能优化和高可用架构实践文档

前言 有人调侃我们说: 程序员不如送外卖。送外卖是搬运食物,自己是搬运代码,都不产出新的东西……透支体力,又消耗健康,可替代性极强,30岁之后就要面临被优化的危险……想跳槽,但是更高的平台…

wordpress改成https网址方法

我们建议搭建wordpress使用宝塔更为方便,另外也可以选择WDCP或者phpstudy也不错。本次教程适用于宝塔。 老样子买一台云服务器,建议找一些主流云服务器提供商,然后买一台Linux系统的然后安装好宝塔控制面板,创建一个站点&#xf…

【T+】畅捷通T+服务管理中,异步任务服务(TPlusPopAsyncTaskService1700)无法启动

【问题描述】 畅捷通T产品, 服务管理中的【异步任务服务(TPlusPopAsyncTaskService1700)】一直处于停止状态,且点击启动没有任何反应。 【解决方法】 【排查过程】 首先:检查数据库配置,以及网站端口配置…

可以写进简历的软件测试电商项目,不进来get一下?

前言 说实话,在找项目的过程中,我下载过(甚至付费下载过)N多个项目、联系过很多项目的作者,但是绝大部分项目,在我看来,并不适合你拿来练习,它们或多或少都存在着“问题”&#xff…

Linux C中对json格式数组数据的生成与解析

在网络通信中,数据经常被做成json格式的来进行传输。那么我们怎么在linux系统中去做json格式的数据呢?怎么将接收到的json格式的数据解析出来呢? 1、linux json库的安装 (1)下载json-c源码包 (2&#xff09…

Redis 内存淘汰和过期删除策略

提起使用Redis的优点,大家可以列举出许多,比如:数据存储在内存,读写速度快,性能优异。比如数据持久化,便于数据备份及恢复等等。 分布式服务系统平台发展至今,Redis活跃在平台的各个领域&#…