jenkins+docker部署springboot+vue项目

后端的Dockerfile和docker启动脚本

FROM openjdk:17COPY . /home/ProjectSpace/cli/extranet/serverCOPY simsun.ttf /usr/share/fonts/chinese/simsun.ttfWORKDIR /home/ProjectSpace/cli/extranet/serverCMD java -Dspring.config.location=/home/ProjectSpace/cli/extranet/server/config/ -jar /home/ProjectSpace/cli/extranet/server/extranet-0.0.1-SNAPSHOT.jar
#! /bin/bash
echo '搭建关机服务平台---后端服务'# 从Jenkinsfile所在目录进入Dockerfile所在目录
cd /home/ProjectSpace/cli/extranet/server/# 编译 cli-extranet-server镜像
docker build --tag cli-extranet-server:latest .
# 关掉 cli-extranet-server(服务)
echo '关掉 旧cli-extranet-server'
docker stop cli-extranet-server
# 移除 cli-extranet-server(服务)
echo '移除 旧cli-extranet-server'
docker rm cli-extranet-server
# 运行镜像
echo '运行新镜像cli-extranet-server'
docker run -d --name cli-extranet-server -p 9002:9002 -v /etc/localtime:/etc/localtime:ro -v /home/ProjectSpace/cli/extranet/server/logs:/home/ProjectSpace/cli/extranet/server/logs -v /home/ProjectSpace/cli/extranet/server/lib:/home/ProjectSpace/cli/extranet/server/lib -e TZ=Asia/Shanghai cli-extranet-server:latest docker ps | head  # 查看正在运行的容器列表(只看前面几个)

jenkins后端流水线脚本

pipeline {agent any// 禁用默认的代码检出options {skipDefaultCheckout() }stages {stage('拉取代码') {steps {echo '拉取代码Hello World'checkout scmGit(branches: [[name: '*/main']], extensions: [], userRemoteConfigs: [[credentialsId: '455cd43b-fd1a-4a7a-b8aa-218f35facaac', url: 'http://192.168.1.42:8090/cli/digital_police_tation_server.git']])script {def commitMessage = sh(returnStdout: true, script: 'git log --format=%B -n 1').trim()echo commitMessageecho "触发构建"}}}stage('代码打包') {steps {echo '代码打包并移动到指定目录'withEnv(["PATH+MAVEN=/home/maven/bin"]) {sh "chmod -R +x /home/maven/bin"sh "mvn -Dmaven.test.skip=true clean package"sh "mv target/*.jar /home/ProjectSpace/cli/digital/server/"}}}stage('打包镜像并部署') {steps {echo '执行 build_docker.sh 脚本'sh "chmod +x /home/ProjectSpace/cli/digital/server/build_docker.sh"sh "/home/ProjectSpace/cli/digital/server/build_docker.sh"}}}
}

jenkins前端流水线脚本

pipeline {agent any// 禁用默认的代码检出options {skipDefaultCheckout() }stages {stage('拉取代码') {steps {echo '拉取代码'checkout scmGit(branches: [[name: '*/nei_dev']], extensions: [], userRemoteConfigs: [[credentialsId: '455cd43b-fd1a-4a7a-b8aa-218f35facaac', url: 'http://192.168.1.42:8090/cli/cooperative_web.git']])script {def commitMessage = sh(returnStdout: true, script: 'git log --format=%B -n 1').trim()echo commitMessageecho "触发构建"}}}stage('安装依赖') {steps {echo '安装依赖'dir('/home/jenkins/home_work/workspace/cooperative_web/') {sh 'npm install --registry=https://registry.npmmirror.com/'}}}stage('构建项目') {steps {echo '构建项目'dir('/home/jenkins/home_work/workspace/cooperative_web/') {sh 'rm -rf dist/*'sh 'npm run build'}}}stage('部署') {steps {echo '部署'// 移除原来的包dir('/home/ProjectSpace/cli/cooperative_resource/web/') {sh 'rm -rf ./*'}dir('/home/ProjectSpace/cli_nei/cooperative_resource/web/') {sh 'rm -rf ./*'}// 将构建产物复制到指定目录dir('/home/jenkins/home_work/workspace/cooperative_web/') {sh 'cp -R /home/jenkins/home_work/workspace/cooperative_web/dist /home/ProjectSpace/cli/cooperative_resource/web/'sh 'cp -R /home/jenkins/home_work/workspace/cooperative_web/dist /home/ProjectSpace/cli_nei/cooperative_resource/web/'}}}}
}

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

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

相关文章

opencv-python的简单练习

题目1.读取一张彩色图像并将其转换为灰度图。 import cv2 # 读取图片文件 img cv2.imread(./1.png)# 将原图灰度化 img_gray cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)# 输出图片 cv2.imshow(img,img) cv2.imshow(img_g,img_gray) # 进行阻塞 cv2.waitKey(0) 题目2:…

AOP实现操作日志记录+SQL优化器升级

文章目录 1.引入依赖1.sun-dependencies 指定依赖2.将sun-dependencies进行install3.sun-common-log引入依赖 2.sun-common-log代码实现1.LogAspect.java(需要更改包时就修改Pointcut的切点表达式即可)2.log4j2-spring.xml3.效果展示 3.SQL优化器升级1.目…

CH582F BLE5.3 蓝牙核心板开发板 60MHz RAM:32KB ROM:448KB

CH582F BLE5.3 蓝牙核心板开发板 60MHz RAM:32KB ROM:448KB 是一款基于南京沁恒(WCH)推出的高性能、低功耗无线通信芯片CH582F的开发板。以下是该开发板的功能和参数详细介绍: 主要特性 双模蓝牙支持: 支持蓝牙5.0标准&#xff0…

AI技术在演示文稿制作中的应用一键生成PPT

在快节奏的现代工作环境中,时间就是金钱。为了提高工作效率,许多专业人士都在寻找能够快速生成演示文稿(PPT)的工具。本文将探讨AI技术如何帮助用户自动生成演示文稿,从文案撰写到排版,最终输出成品&#x…

【Redis篇】Set和Zset 有序集合基本使用

目录 Set 基本命令 sadd SMEMBERS SISMEMBER SCARD 返回值: SPOP SMOVE SREM 集合间操作 交集: 并集: 差集: ​编辑 内部编码 使用场景: Zset 有序集合 Zset基本命令 ZADD ZCARD ZCOUNT ZRANGE …

OpenCV相机标定与3D重建(25)计算两个三维点集之间的最优仿射变换矩阵(3x4)函数estimateAffine3D()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 计算两个3D点集之间的最优仿射变换。 它计算 [ x y z ] [ a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 ] [ X Y Z ] [ b 1 b 2 b 3 ] \beg…

安防监控Liveweb视频汇聚融合平台助力执法记录仪高效使用

Liveweb平台可接入的设备除了常见的智能分析网关与摄像头以外 ,还可通过GB28181协议接入执法记录仪,实现对执法过程的全程监控与录像,并对执法轨迹与路径进行调阅回看。那么,如何做到执法记录仪高效使用呢? 由于执法记…

技术理性角度思考:游戏是什么?

1、从单纯技术理性角度来看,游戏就是若干事件的组合, 每一个事件都是若干代码控制的若干动画。通过各种事件,玩家持续输入,改变游戏状态,获得输出结果。 细分为界面切换事件,游戏逻辑事件, a…

Jenkins 编写Pipeline 简介及使用初识详解

一、Jenkins Pipeline简介 Jenkins Pipeline是Jenkins的一个重要功能,Jenkins 2.0 以上才会有,一系列 Jenkins 插件将整个持续集成用解释性代码 Jenkinsfile 来描述,它允许开发者以代码的方式定义整个持续集成和交付(CI/CD)流程,包括构建、测试、部署和监控等步骤。Jenk…

构建一个rust生产应用读书笔记四(实战1)

我们需要从访客那里收集哪些信息,以便将其登记为电子邮件通讯的订阅者? 电子邮件地址:这是最基本的要求,因为我们需要通过电子邮件地址向订阅者发送内容。姓名:虽然这不是强制性的,但我们希望收集一个名字…

IDEA 未启用lombok插件的Bug

项目中maven已引用了lombok依赖,之前运行没有问题的,但有时启动会提示: java: You arent using a compiler supported by lombok, so lombok will not work and has been disabled. Your processor is: com.sun.proxy.$Proxy8 Lombok support…

【vue】npm install 报错 python2 Error: not found: python2

如图所示,vue项目在下载依赖的时候报错找不到python2,有网友通过下载python2.7并配置环境变量解决了,这里有两个其他自测可用的方式,供各位作为参考。 报错的主要原因是因为【sass-loader】【node-sass】这两个依赖跟nodejs版本有…

批量DWG文件转换低版本(CAD图转低版本)——c#插件实现

此插件可实现指定路径下所有dwg文件(包含子文件夹内dwg)一键全部转为低版本(包含2004、2007、2018版本,也可定制指定版本)。效果如下: (使用方法:命令行输入 “netload” 加载插件&…

信奥题解:勾股数计算中的浮点数精度问题

来源:GESP C++ 二级模拟题 本文给出官方参考答案的详细解析,包括每一部分的功能和关键点,以及与浮点数精度相关的问题的分析。 题目描述 勾股数是很有趣的数学概念。如果三个正整数a 、b 、c ,满足 a 2 + b 2 = c 2 a^2 + b^2 = c^2 a2+b2=c2 ,而且1 ≤ a ≤ b ≤ c ,…

解决 Spring 单例 Bean 注入原型 Bean 被共享的问题

在使用 Spring 开发应用时,Bean 的作用域(Scope) 决定了 Bean 实例的生命周期。Spring 提供了多种作用域,其中最常见的是 单例(singleton) 和 原型(prototype) 作用域。 单例作用域…

解决 OpenCV 与 FFmpeg 版本不兼容导致的编译错误

解决 OpenCV 与 FFmpeg 版本不兼容导致的编译错误 在安装并编译 OpenCV 3.2.0 版本时,出现的编译错误主要是由于 OpenCV 代码中使用的 FFmpeg 库宏定义与最新版 FFmpeg 库中的定义不一致所致。具体来说,原有的宏 CODEC_FLAG_GLOBAL_HEADER 和 AVFMT_RAW…

剑指offer搜索二维矩阵

题目连接 https://leetcode.cn/problems/search-a-2d-matrix-ii/’ 代码 自己想出来的 解法一 初始化两个指针,i0,j列数-1 若此时matrix[i][j]target 则返回true 若此时matrix[i][j]>target,表明在第j列中不可能存在target,因为列是升序的 若此时ma…

无管理员权限 LCU auth-token、port 获取(全网首发 go)

一: 提要: 参考项目: https://github.com/Zzaphkiel/Seraphine 想做一个 lol 查战绩的软件,并且满足自己的需求(把混子和大爹都表示出来),做的第一步就是获取 lcu token ,网上清一色…

STM32F407ZGT6-UCOSIII笔记6:UCOS-III软件定时器

今日学习使用UCOS系统的软件定时器功能 本文学习与程序编写基于 正点原子的 STM32F1 UCOS开发手册 文章提供测试代码讲解、完整工程下载、测试效果图 软件定时器卡柱UCOS III 系统问题解决 目录 UCOS-III 软件定时器: 单次定时器: 周期定时器: 开启软…

【网络安全】WIFI WPA/WPA2协议:深入解析与实践

WIFI WPA/WPA2协议:深入解析与实践 1. WPA/WPA2 协议 1.1 监听 Wi-Fi 流量 解析 WPA/WPA2 的第一步是监听 Wi-Fi 流量,捕获设备与接入点之间的 4 次握手数据。然而,设备通常不会频繁连接或重新连接,为了加速过程,攻…