Jenkins+SpringCloud(多模块)+Vue项目详细配置
一、Jenkins安装及所需插件安装
安装过程略。
我这用到工具包括JDK、Git、Maven、NodeJS:可以选择自行在服务器安装,也可以通过Jenkins自动安装,位置在系统管理 》全局工具配置

安装的插件包括 NodeJS Plugin、Publish Over SSH:通过 系统管理 》插件管理 在线搜索安装,无需重启。

二、微服务后端模块配置
1、新建任务
填入任务名称,选择构建一个maven项目,如果没有该选项可能是插件没有安装导致,也可以选择构建一个自由 风格得软件项目

2、构建打包




clean package -pl carbon-modules/carbon-file -am -Dmaven.test.skip=true

3、远程部署
部署方式可以根据实际情况灵活调整:如果Jenkins和系统部署为一台服务器,则无需远程传输,将打包好的文件移动或复制到指定的目录运行即可;
如果不是同一台服务器,则一般需要将打包好的资源文件传输到目标服务器并通过命令启动运行。
下面截图展示远程部署的方式,基本适用于大多数场景。
配置SSH服务器:系统管理 》系统配置




source /etc/profile
BUILD_ID=DONTKILLME
cd /opt/carbon/backend/command
sh carbon-modules-file.sh restart 9302
carbon-modules-file.sh
#!/bin/bash
#配置jar名称
APP_NAME=carbon-modules-file
SPACE=xxxxx
PORT="$2"
#使用说明,用来提示输入参数
usage() {
echo "Usage: sh 脚本名.sh [start|stop|restart|status]"
exit 1
}
#检查程序是否在运行
is_exist(){
pid=`ps -ef|grep $APP_NAME.jar|grep -v 'grep'|awk '{print $2}' `
#如果不存在返回1,存在返回0
if [ -z "${pid}" ]; then
return 1
else
return 0
fi
}
#启动方法
start(){
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is already running, pid=${pid} ."
elif [ ${PORT} ]; then
echo "port is ${PORT}"
nohup java -Dserver.port=${PORT} -Xms512m -Xmx512m -jar ../${APP_NAME}.jar --spring.profiles.active=prod --spring.cloud.nacos.discovery.namespace=${SPACE} --spring.cloud.nacos.config.namespace=${SPACE} > ../logs/${APP_NAME}.log &
echo "${APP_NAME} start success"
else
nohup java -Xms512m -Xmx512m -jar ../${APP_NAME}.jar --spring.profiles.active=prod --spring.cloud.nacos.discovery.namespace=${SPACE} --spring.cloud.nacos.config.namespace=${SPACE} > ../logs/${APP_NAME}.log &
echo "${APP_NAME} start success"
fi
}
#停止方法
stop(){
is_exist
if [ $? -eq "0" ]; then
kill -9 $pid
else
echo "${APP_NAME} is not running"
fi
}
#输出运行状态
status(){
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is running, Pid is ${pid}"
else
echo "${APP_NAME} is NOT running."
fi
}
#重启
restart(){
stop
start
}
#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
"restart")
restart
;;
*)
usage
;;
esac
注:由于使用了nacos作为了注册配置中心,命令中增加了相关设定,可自行根据项目情况修改;
命令文件中换行符一定确定是Unix(LF)格式;
将sh文件上传到服务器目录后,增加可执行权限(chmod u+x *.sh)。


4、复制构建

三、系统前端(Vue)配置
源码管理等略,参考后端配置。




cd /data/iot/tomcat_jenkins/data/workspace/carbon-ui/carbon-ui
node -v
npm -v
npm install
npm run build:prod
cd dist
rm -rf carbon-ui.tar.gz
tar -zcvf carbon-ui.tar.gz *


cd /data/carbon/front/
tar -xzvf carbon-ui.tar.gz -C /data/carbon/front/
find /data/carbon/front/ -name "*.tar.gz" -exec rm -rf {} \;
echo '发布成功!'
构建完成后查看日志,输出以下内容即为成功

四、总结
随着Docker、K8S、服务网格(ServiceMesh)等新型部署管理方式的兴起,Jenkins等工具已逐渐是CI/CD的较为过时的管理方式,
但是对于中小型开发团队且系统部署规模及硬件资源都相对较小的情况下,为了减轻开发运维过程中频繁的版本迭代及多模块多服务器部署带来的负担,
提高生产运维效率,减少因人为过失导致的线上生产事故,选择Jenkins来搭配代码管理工具GitLab及项目管理工具禅道、Jira等作为自动化构建部署管理方式,
也不失为一个过渡性又相对合理的折中选择。
Jenkins+SpringCloud(多模块)+Vue项目详细配置的更多相关文章
- [转]Vue项目全局配置微信分享思路详解
这篇文章给大家介绍了vue项目全局配置微信分享思路讲解,使用vue作为框架,使用vux作为ui组件库,具体内容详情大家跟随脚本之家小编一起学习吧 这个项目为移动端项目,主要用于接入公众号服务.项目采用 ...
- 如何为你的 Vue 项目添加配置 Stylelint
如何为你的 Vue 项目添加配置 Stylelint 现在已经是 9102 年了,网上许多教程和分享帖都已经过期,照着他们的步骤来会踩一些坑,如 stylelint-processor-html 已经 ...
- 利用vue-cli3快速搭建vue项目详细过程
一.介绍 Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统.有三个组件: CLI:@vue/cli 全局安装的 npm 包,提供了终端里的vue命令(如:vue create .vue ...
- 使用jenkins一键打包发布vue项目
jenkins的安装 Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建.测试和部署软件. Jenkins 支持各种运行方式,可通过系统包.Docker 或者通过一个独立 ...
- vue项目中配置favicon图标
如上图所示,页面顶部的小图标会让页面显得高大上,一般把这种图标叫做favicon图标.利用vue-cli脚手架搭建的项目,如果不手动配置,页面中是不会显示favicon图标. 不配置是这样子的: fa ...
- vue-cli安装以及搭建vue项目详细步骤
vue init webpack projectname(projectname是你项目的名称) 创建项目卡住不动解决方案: https://cli.vuejs.org/zh/guide/instal ...
- webpack构建vue项目(配置篇)
最近公司要求用vue重构项目,还涉及到模块化开发,于是乎,我专门花了几天的时间研究了一下webpack这个目前来看比较热门的模块加载兼打包工具,发现上手并不是很容易,现将总结的一些有关配置的心得分享出 ...
- vue项目eslint配置 以及 解释
// https://eslint.org/docs/user-guide/configuring module.exports = { root: true, parserOptions: { pa ...
- 在vue项目中配置webpack
首先我们来看一下使用Vue-cli2与Vue-cli2之后的版本(这里以Vue-cli4版本为例)创建项目目录结构的不同: Vue-cli2(左图)与Vue-cli4(右图)创建项目的目录 从上图可以 ...
随机推荐
- 攻防世界pwn题:实时数据检测
0x00:查看文件 一个32位的文件,canary.NX.PIE保护机制均关闭. 0x01:用IDA进行静态分析 程序很简单,输入一串字符(个数限制:512),然后再输出.最后根据key变量进行条件语 ...
- 倾斜摄影3D模型|手工建模|BIM模型 轻量化处理
一.什么是大场景? 顾名思义,大场景就是能够从一个鸟瞰的角度看到一个大型场景的全貌,比如一个园区.一座城市.一个国家甚至是整个地球.但过去都以图片记录下大场景,如今我们可以通过建造3D模型来还原大场景 ...
- SAP IDOC
物料主数据 供应商主数据 价格档案 采购订单 采购计划协议 srm发货单 物料凭证 发票校验 发票校验过账或删除信息返回 CALL FUNCTION 'BAPI_INCOMINGINVOICE_PAR ...
- linux在线安装和配置JDK1.8
首先在服务器ping www.baidu.com查看是否可以连网 然后就可以在线下载 一.下载安装JDK1.8 1.在下载安装的同时做一些准备工作 我们在usr目录下再创建一个Java文件夹准备放置我 ...
- Flex & Bison 开始
Flex 与 Bison 是为编译器和解释器的编程人员特别设计的工具: Flex 用于词法分析(lexical analysis,或称 scanning),把输入分割成一个个有意义的词块,称为记号(t ...
- Unity-A-Star寻路算法
最短路径 将地图存成二维数组,通过行列查找: 每一步都查找周围四个方向,或者八方向的所有点,放入开表: 是否边缘 是否障碍 是否已经在确定的路线中 计算每个方向上路径消耗,一般斜着走消耗小,收益大: ...
- Nginx通过bat文件快速启动停止
新建文本文件NginxRun.bat.(名字无所谓,后缀名得是bat) 将以下代码复制到bat文件中即可. @echo off ::进入D盘 d: ::进入nginx目录 这里是自己的nginx目录 ...
- 5.RDD操作综合实例
一.词频统计 A. 分步骤实现 1.准备文件 (1)下载小说或长篇新闻稿 (2)上传到hdfs上 2.读文件创建RDD 3.分词 4. ·排除大小写lower(),map() ·标点符号re.spli ...
- kubectl 最新常用命令 --V1.24版本
Kubectl 自动补全 BASH source <(kubectl completion bash) # 在 bash 中设置当前 shell 的自动补全,要先安装 bash-completi ...
- 基于Python+Sqlite3实现最简单的CRUD
一.基本描述 使用Python,熟悉sqlite3的基本操作(查插删改),以及基本数据类型.事务(ACID). 准备工作:在sqlite3的官网上下载预编译的sqlite文件(windows) ...