首页 > 系统相关 >Docker+Jenkins+Gitee+Node+Vue构建dist包并通过publish over ssh传输到服务器替换重启docker-compoet编排的nginx服务

Docker+Jenkins+Gitee+Node+Vue构建dist包并通过publish over ssh传输到服务器替换重启docker-compoet编排的nginx服务

时间:2022-12-24 16:11:55浏览次数:66  
标签:Node node dist 传输 nginx 构建 home compoet docker

场景

docker-compose入门以及部署SpringBoot+Vue+Redis+Mysql(前后端分离项目)以若依前后端分离版为例:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/128372122

Docker+Jenkins+Gitee+Maven构建后台jar包后配置SSH传送到服务器并执行指定命令:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/128415872

Docker+Jenkins+Gitee+Maven构建后台jar包后通过命令备份、替换、重启docker-compose编排的java服务:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/128419177

上面讲的后台jar包的构建与持续集成过程,如果是前端Vue项目实现流程如下。

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi

实现

1、Vue项目需要使用node进行打包和依赖管理等

所以需要先安装node插件。

Dashboard-插件管理-可选插件-NodeJS

 

 

2、NodeJS配置

上面安装插件之后,才会在DashBoard-全局工具配置中显示NodeJS配置,点击NodeJS安装-新建NodeJS

 

 

选择项目对应的node的版本,这里一开始选择了15的版本

 

 

结果在构建时提示:

Could not resolve dependency:

peer webpack@"1.0.0||2.0.0||3.0.0||4.0.0" from script-ext-html-webpack-plugin@2.1.5

node_modules/script-ext-html-plugin

 

 

这是因为jenkins中安装的nodejs版本过高,降低版本即可。

所以把node的版本降低为14.0

3、新建任务时不再构建Maven项目,而是新建自由风格的软件项目

 

 

然后配置源码管理与前面博客流程一致,不再赘述。

4、构建环境

只有上面安装了node插件并安装node才会在构建环境中有

Provide Node & npm bin/folder to Path这个选项,勾选这个选项

 

 

勾选这个选项,node选择上面安装的node。

构建步骤选择为执行shell

 

 

配置执行shell的命令为

cd  ${WORKSPACE}/Font
rm -rf ${WORKSPACE}/Font/dist
npm install
npm run build:prod

这里是因为前端代码不在代码仓库根目录下,所以需要先cd到Font目录下,然后执行npm的安装依赖和打包命令。

 

 

配置构建过程之后,可以先构建一次,完成在对应目录下看dist包是否打包成功

 

 

5、添加构建后步骤

这里将前端打包之后需要将其传输到服务器上,所以构建后操作选择Send build artifacts over SSH

 

 

这个插件的安装和使用参照前面jar包过程的博客。

不过这里不同的是

Jenkins publish over ssh传输文件夹而不是单个文件,当然也可以将dist添加为tar包,在构建的命令中添加即可。

这里记录如果将整个dist包通过publish over ssh传输。

SSH Server的配置参考上面博客。

这里配置

Source files:Font/dist/**

Remove prefix:Font

Remote directory:/

这里因为前端在代码仓库根目录Font下,dist后面要跟两个*,不然子目录不会传输。

 

 

传输之后可以到服务器上对应目录上查看是否成功

dist传输之后,配置Exec command执行的命令。

这里的nginx代理前端dist是使用的docker-compose进行编排的,所以需要执行的命令如下

sudo tar -cvf /home/fzysShow/nginx/font/bak/dist-$(date '+%Y%m%d%H%M%S').tar /home/fzysShow/nginx/font/dist

sudo rm -rf /home/fzysShow/nginx/font/dist

sudo mv /home/iunisjzx/dist /home/fzysShow/nginx/font/dist

cd /home/fzysShow

sudo docker-compose restart nginx

首先将原来nginx代理的dist包进行添加时间戳压缩并备份

然后将原dist包删除

然后将构建好并通过ssh传输过来的dist包移动到nginx服务对应的目录下,这里的目录为/home/iunisjzx是因为SSH Server配置的根目录就是这个目录。

最后重启nginx服务。

查看日志构建并传输成功

 

 

可以修改某处前端代码并提交代码然后构建之后查看是否成功改变来验证。

标签:Node,node,dist,传输,nginx,构建,home,compoet,docker
From: https://www.cnblogs.com/badaoliumangqizhi/p/17002975.html

相关文章

  • 46使用docker出现的问题与解决方法
    从docker仓库安装最新的centos,无法安装git解决方法如下:进入目录#1.cd/etc/yum.repos.d/修改文件内容#2.sed-i's/mirrorlist/#mirrorlist/g'/etc/yum.repos.d/Ce......
  • docker高级篇第三章-dockerfile案例之制作自己的centos镜像
    在上一篇文章中《Dockerfile介绍及常用保留指令》,我们介绍了Dockerfile是什么以及Dockerfile常用的保留字段。熟悉了这些之后,有没有想自己动手写一个Dockerfile呢?本文咱们......
  • Docker学习笔记
    一、容器化技术相关概念1、容器化技术概念在软件开发过程中环境配置永远是最让人头疼的在开发之前我们需要准备各种运行环境、IDE及辅助工具同时软件部署也为程序员的谢......
  • Linux 平台的最强 docker 管理面板 Portainer
    PortainerPortainer是一个可视化的Docker操作界面,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示......
  • 解决pipline找不到docker命令:/Users/beck/.jenkins/workspace/locust_test@tmp/durabl
    问题一:/Users/beck/.jenkins/workspace/locust_test@tmp/durable-884e1b18/script.sh:line1:docker:commandnotfound完整的pipeline如下,在dockerhub上我打包了locu......
  • 将镜像上传到Docker Hub中央仓库中
    首先创建一个镜像,点击:​​创建一个简单的Docker镜像​​1.先注册帐号 ​​https://hub.docker.com/​​         2.将镜象推上去[root@localhostdocker]#docker......
  • 44docker
    笔记dockerdockerDocker概述Docker安装Docker命令镜像命令容器命令操作命令....Docker镜像容器数据卷DockerFileDocker网络原理IDEA整合D......
  • docker-compose部署kafka集群
    vim  docker-compose.ymlversion:'3'services:zookeeper:image:zookeeperports:-2182:2181restart:alwayskafka1:image:wu......
  • # Win10为知笔记Docker镜像部署 -v /wiz/storage问题解决
    Win10为知笔记Docker镜像部署-v/wiz/storage问题解决用了很长一段时间的为知笔记,客户端体验还行,服务端笔记同步体验不佳。准备用Docker自己搭一个服务端。环境:操作......
  • 安装node.js与webpack创建vue2项目
    本文为博主原创,转载请注明出处:1.安装node.js下载地址:http://nodejs.cn/download/(可查看历史版本)node.js中文网:http://nodejs.cn/api-v16/建议下......