前端jenkins打包编译发布项目流程

如今的前端项目已不像之前直接写完代码,扔到服务器直接运行了。免不了安装依赖,执行build过程,然后再将打包后的代码上传到服务器,可能还需要更改配置文件啥的。如此多的步骤严重影响开发的日常划水时间。所以jenkins自动化部署少不了。

听说这个老头可以帮你做很多事

直接进入正题,登录进入jenkins后台,在Dashboard左侧菜单新建任务

选择流水线任务类型,输入任务名称,可以是项目名称,然后确认,进入配置页面,该页面有四个Tab

General

主要是一些基本的配置项,可不填

构建触发器

主要是触发构建任务的条件配置,有的时候比如你想在你提交代码的时候就触发构建,或者合并代码到主分支的时候触发,可以通过gitee WebHook来配置生效,不需要自动触发构建的可以不需要理会

高级项目选项

(忽略)

流水线

这个是主要的内容,编写自定义的Pipeline script,类似于shell脚本

pipeline {agent anyenvironment {CODE_REPOSITORY = 'git@gitee.com:argusai/cloth-client-manager-app.git'}stages { stage('拉取代码') {steps {echo "fetch code from ${CODE_REPOSITORY}"deleteDir()git "${CODE_REPOSITORY}"}}stage('打包') {steps {echo 'package.....'sh "yarn install"sh "yarn build"}}stage('部署代码') {steps {echo ''sh "cp  -rf ./dist/*  /data/service/cloth-cloud/cloth-client-manager-app"sh "/data/service/cloth-cloud/cloth-client-manager-app-start.sh"}}}}

整个构建过程,被我们自定义为三步,首先从git或者gitee拉取最新的代码到jenkins服务器,拉取之前先执行deleteDir()删除之前的代码目录;

第二步是执行命令编译打包的过程,yarn install 安装项目依赖,然后build出包,一般在项目根目录dist下面

第三步的过程就是将dist里面打包后的代码拷贝到服务器nginx配置的项目目录,并且执行一个shell脚本,目的是拷贝一份生产环境的配置到项目目录,(有的时候配置文件不方便打包进项目,随时修改的需要)如果项目部署和jenkins不在一个服务器,也可以通过其它的方式同步到生产服务器。

为了公司的内部协同,还可以在这里做很多事,例如配置钉钉机器人通知,将打包后的信息同步到工作群里。

最后配置好任务之后,试一下点击立即构建,可以清晰的看见每一步的完成进度

如果哪一步出错了,还可以点击log来查找错误的输出日志进行跟踪。

 

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

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

相关文章

OpenMap教程4 –图层

1.简介 在第一个教程中,我们创建了一个基本的OpenMap GIS应用程序,该应用程序在JFrame中显示一个从文件系统加载的具有一个形状图层的地图。 该教程基于com.bbn.openmap.app.example.SimpleMap 。 在第二篇教程中,我们扩展了基本应用程序以使…

Vue.js实战之Vuex的入门教程

在 Vue.js 的项目中,如果项目结构简单, 父子组件之间的数据传递可以使用 props 或者 $emit 等方式。 但是如果是大型项目,很多时候都需要在子组件之间传递数据,使用之前的方式就不太方便。Vue 的状态管理工具 Vuex 完美的解决了这…

为什么写公众号,为什么改名字

这是一篇水果文,啥叫水果文?比水文稍微有点内容,我暂时这么解释吧。最近刚刚开始决定写公众号,其实这个订阅号申请的还蛮早的,当时是为了学习开发公众号而创建的,所以中间有过一段空档期(呸&…

chrome浏览器解决ajax跨域问题

方法一 1、右键谷歌快捷方式,选择“属性”。 2、打开属性窗口,切换到“快捷方式”选项卡。 3、在目标路径的后面添加【 --disable-web-security】,其中chrome.exe与--disable之间有一个空格 4、点击应用,然后点击确定关闭窗口。 5…

前端的使命来了

最近国家工信部发布了一则关于重大App进行适老化改造的政策目的在于随着互联网的普及,有一部分群体在互联网应用的使用上存在着一定的障碍,为了保证这部分人能够顺利的使用手机中的App,国家出手了!现在人们的生活越来越离不开互联…

第二章 Burp Suite代理和浏览器设置

Burp Suite代理工具是以拦截代理的方式,拦截所有通过代理的网络流量,如客户端的请求数据、服务器端的返回信息等。Burp Suite主要拦截http和https协议的流量,通过拦截,Burp Suite以中间人的方式,可以对客户端请求数据、…

Multiavatar头像生成,要多少有多少

还在为选一个个性十足,不同于别人的头像而烦恼吗?12,230,590,464个头像够你选择够不够?Multiavatar一款集多文化头像生成器,它可以根据不同的种族,不同的文化,不同的年龄,不同的世界观&#xff…

将Java 8流解析为SQL

当Java 8发行并且人们开始流式处理各种东西时,很快他们就开始想象如果可以以相同的方式使用数据库将有多大的潜力。 本质上,关系数据库由以表状结构组织的巨大数据块组成。 这些结构非常适合进行过滤和映射操作,如SQL语言的SELECT&#xff0c…

TCP Congestion Control

TCP Congestion Control Congestion occurs when total arrival rate from all packet flows exceeds R over a sustained(维持) period of timeBuffers(缓冲) at multiplexer will fill and packets will be lostPhases of Congestion Behavior Light traffic Arrival Rate &l…

SVG格式的Icon,用了你就知道有多香

继阿里的iconfont之后,字节跳动也出品了自己的矢量图标库,可以实现根据单一SVG源文件变换出多种主题, 具备丰富的分类、更轻量的代码和更灵活的使用场景。矢量SVG图标的出现,完全改变了前端的开发方式,之前总是通过设计…

sql server2016里面的json功能 - 转

测试一下基本的,从查询结果里面构造一个json 的格式 create table t1(ID int identity,name nvarchar(50),Chinese int ,Math int)insert into t1 values (张三,90,80),(李四,75,90),(王五,68,100) select * from t1select * from t1 for json auto--查询结果 ID …

CSS实现TikTok文字抖动效果

前端同学在日常开发中精彩会因为一些动效和设计争的面红耳赤,设计希望用代码实现,前端要设计出gif图,最后谁也不让谁,设计走了,留下了前端独自加班......CSS技术是前端必须掌握的一项技能,不仅要掌握&#…

当心findFirst()和findAny()

过滤Java 8 Stream ,通常使用findFirst()或findAny()来获取在过滤器中幸存的元素。 但这可能并不能真正实现您的意思,并且可能会出现一些细微的错误。 那么 从我们的Javadoc( 此处和此处 )可以看出,这两个方法都从流中…

Intellij新建Spring项目引入用户目录下的Spring jar包

首先,在IntelliJ IDEA中新建module,选择Spring应用: 在初次使用时,如果IDE检测到本地没有spring核心库,则会在新建过程中下载对应库文件,在使用spring框架时,可以细分多种不同应用场景&#xff…

如何在typescript中使用axios来封装一个HttpClient类

我们通常开始直接在代码中使用像axios这样的第三方库。这没有错。但是,在不断变化的库,软件包,版本等世界中,直接使用这些库API可能会导致代码不一致。一个好的做法是创建自己的抽象并将对库API的调用包装到包装器中。这将使您保持…

gRPC Web使用指南

gRPC 是一个高性能、通用的开源 RPC 框架,其由 Google 主要面向移动应用开发并基于 HTTP/2 协议标准而设计,基于 ProtoBuf (Protocol Buffers) 序列化协议开发,且支持众多开发语言()。gRPC 提供了一种简单的方法来精确…

C# 发送email邮件!

利用C#邮件发送邮箱使用到两个类SmtpClient和MailMessage。可以把SmtpClient看做发送邮件信息的客户端&#xff0c;而把MailMessage看做需要发送的消息。 下面是我写的发送邮件的公共方法&#xff1a; 1 /// <summary>2 /// 3 /// </summary>4 …

JUnit 5 –扩展模型

我们已经对Java最普遍的测试框架的下一个版本了解很多。 现在让我们看一下JUnit 5扩展模型&#xff0c;该模型将允许库和框架将自己的实现添加到JUnit中。 总览 设定 基本 建筑 扩展模型 条件 注射 … 在新兴的《 JUnit 5用户指南》中可以找到您将在此处阅读的更多内容…

软件工程实验5

SA17225400 哪来的妖精 《软件工程&#xff08;C编码实践篇&#xff09;》MOOC课程作业http://mooc.study.163.com/course/USTC-1000002006 GitHub &#xff1a;https://github.com/littlewulei/Software-Engineering-Lab.git 实验要求&#xff08;参照视频中的具体实验过程&…

纯CSS实现水波纹效果

首先我们从结构和样式两个方面来讲解以上动图的实现过程&#xff1a;Html结构&#xff1a;<div class"square"><span></span><span></span><span></span><div class"content"><h2>Post Title</h…