docker 部署maven服务器用于项目的部署和发布

news2024/12/28 18:53:10

书接上文

现状:

已经搭建好了maven远程服务器,并将自己的项目从自己的pc部署到maven远程服务器.假设了kie-server集群可以每个node都连接这个远程服务器

要做的:

1.创建kie-server集群的时候设置环境变量. 2.看是否能连上自己搭建的maven服务器.3.如果2 ok 把kie-server需要的kjar (而不是jar)部署到maven服务器 4 使用put请求将kjar发布到集群. over

1 重新创建kie-server集群

docker service create --replicas 3 -p 8180:8080 -d -e TZ=Asia/Shanghai -e KIE_MAVEN_REPO=‘http://172.16.250.104:8001/repository/maven-public/’ -e KIE_MAVEN_REPO_USER=‘admin’ -e KIE_MAVEN_REPO_PASSWORD=‘9b1f9129-0b87-460c-9435-37a754198655’ --name kie-server quay.io/kiegroup/kie-server-showcase:latest

这里指定了时区,指定了三个环境变量,指定了集群的nodes数量 关键是这几个

2.试试是否连上了,解决oracle驱动找不到的问题

postman发送put请求, 查看集群日志,表现是等待了好久好久,后来报了一个错
在这里插入图片描述
众所周知orcle的驱动maven的中央库里是没有的. 下载依赖的顺序建引用1
这时候去看自己的maven远程库的管理后台
http://172.16.250.104:8001/#browse/browse:maven-public
会发现原来没什么东西, 自己的项目发布了之后, 项目依赖的jar都已经下载好了, 就差oracle驱动.
在这里插入图片描述
打开maven远程库的管理后台, 有个upload菜单, 把自己pc上的jar上传上去, 好了之后在browse菜单里就可以看到这个jar了.
这时候再发put请求, 就不会报oracle驱动找不到的问题了,

上传kie-server部署容器需要的kjar

但问题是之前部署上去的项目并不是一个kjar的项目, 是个普通的java项目所以部署不成功.用同样的方式给upload上去, traffic-violation-1.1-SNAPSHOT.jar, 把 (-SNAPSHOT) 去掉因为release的库不能上传SNAPSHOT的jar.

put命令部署容器

put命令现在改为:

{
    "container-id" : "testCreate2",
    "release-id" : {
        "group-id" : "traffic-violation",
        "artifact-id" : "traffic-violation",
        "version" : "1.1"
    }
}

ok部署成功. 这时候是一个node部署成功,如何每个node都部署呢, 因为部署要花一段时间 所以put命令发送之后点取消再点发送再点取消, 就可以利用负载均衡让三个node都发布,从日志的打印结果看确实很ok…但这个只能说暂时可以这个, 也是不太好的方式.不过先无所谓, 细枝末节的问题

ok完成,皆大欢喜

引用:

https://blog.csdn.net/HakuMaster/article/details/127651822

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

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

相关文章

干货|app自动化测试之Appium 原理 与 JsonWP 协议分析

想要使用 Appium 进行测试,那么就一定要先了解Appium的原理。Appium 不仅能够实现移动端的 JSONWP,并且延伸到了 Selenium 的 JSONWP,它能够控制不同移动设备的行为,例如通过会话安装和卸载 APP。Appium 原理图中依赖关系解释&…

MySQL高级 【视图】

目录 1:视图 1.1:介绍 1.2:语法 1.3:检查选项 1.4:视图的更新 1.5:视图作用 1.6:案例 1:视图 1.1:介绍 视图(View)是一种虚拟存在的表。…

一文看懂什么是「低代码」!低代码真的能取代程序员吗?

早在数年前,亚马逊、微软、阿里、腾讯等国内外巨头公司就已纷纷入局“低代码”赛道,而很多人连低代码是什么,究竟有什么用都不太知道。 本文就从概念讲起,结合三个生动的行业案例,一文讲通“什么是低代码”。 文章有…

【强训】Day03

努力经营当下,直至未来明朗! 文章目录一、选择二、编程1. 字符串中找出连续最长的数字串2. 数组中出现次数超过一半的数字答案1. 选择2. 编程普通小孩也要热爱生活! 一、选择 以下代码运行输出的是() public class …

都2023了,为什么选择Nacos,这篇文章让你入门Nacos

👳我亲爱的各位大佬们好😘😘😘 ♨️本篇文章记录的为 Nacos入门 相关内容,适合在学Java的小白,帮助新手快速上手,也适合复习中,面试中的大佬🙉🙉🙉。 ♨️如果文章有什么…

传奇开服一条龙GEE引擎登录器配置教程

1、首先我们打开我们版本文件夹找到登录器文件夹进入找到GEE登录器配置器(MakeGameLogin.exe)打开2、接下来开始填写我们的主列表和备列表,这时候我们要自己创建一个列表,因为登录器自带的列表肯定是读取不了的,我们在…

Speckle核心概念【3D数据引擎】

本节将详细介绍你的3D数据如何发送到 Speckle 并存储在 Speckle 中。 无论你是 Speckle 的新手还是只是需要复习,这都是一个很好的起点! 1、关于Speckle术语 我们尽量使本指南简单明了,删除了技术语言,除非绝对必要。 值得注意的…

页面表格中每行前添加复选框,点击复选框导出本行数据(掉后端接口)

需求如下:html表格中,每行前面添加一个复选框,单机复选框下载/到处本行数据 思路: 页面: 页面首先要添加复选框,然后点击复选框,调用导出方法 同时获取到与它对应的数据库唯一id信息&#xf…

Seata 1.6.0 正式发布,大幅度提升存储性能

作者:Seata 社区 用户登记* * 欢迎已使用用户在此链接登记,便于我们更好的针对业务场景优化: https://github.com/seata/seata/issues/1246 发布概览* * 主要新增特性:支持 oracle 和 pgsql 多主键;支持 seata-ser…

芯片+步进电机档位控制实验

1、系统功能 目的:学习步进电机的控制。 使用设备:步进电机、两位共阴数码管、按键 功能:驱动步进电机以不同转速(4档)转动,并将当前档位用数码管显示 (1)按键 KEY1 作为启动和停止的切换按键;…

【Git】Git概述与安装

1、Git 概述 Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。 Git 易于学习,占地面积小,性能极快。 它具有廉价的本地库,方便的暂存区域和多个工作流分支等特性。其性能优于 Subversio…

SwitchResX for Mac 屏幕分辨率修改工具

前言 SwitchResX V4.12.1 是Mac上一款功能强大的屏幕分辨率修改软件,可以为您提供控制显示器分辨率所需的所有工具。在switchresx帮助下,您可以管理无论是Mac Retina显示器,Cinema Displays还是电视机甚至投影仪的任何分辨率。而且switchres…

C语言-三子棋

文章目录三子棋一、问题描述二、基本流程在写三子棋的代码之前,我们来看看实现这个游戏的逻辑:三、步骤1. 菜单界面2. 创建棋盘3. 棋盘初始化4.打印棋盘(1)简陋棋盘:(2)自己打印棋盘:5.玩家落子6.电脑落子7.判断胜负1) 判定是否和…

CAPL学习之路-测试功能集函数(最终篇,其他的一些函数介绍)

TestSetEcuOffline 断开ECU与总线的连接 这个ecu是仿真ecu,不是真实ecu哦! testcase TCExample() {testSetEcuOffline(Engine); }void MainTest () {TCExample(); }Trace窗口: TestSetEcuOnline 将ECU连接到总线 testGetCurrentCycle 返回测试的当前周期 这里不管怎么试都返…

【目标检测】TOOD:Task-aligned One-stage Object Detection

TOOD:Task-aligned One-stage Object Detection 论文题目:《TOOD:Task-aligned One-stage Object Detection》——任务对齐的单阶段目标检测 论文地址: https://arxiv.org/abs/2108.07755 论文代码: https://github.com/fcjian/TOOD 1、前言…

优秀的 Verilog/FPGA开源项目介绍(三十六)-RISC-V(新增一)

关于RISC-V的二三事risc-v官网❝https://riscv.org/RISC-V(跟我读:“risk----------------five”)是一个基于精简指令集(RISC)原则的开源指令集架构(ISA)。这里要明确两个概念:指令集…

基于VC++的3D地形绘制与纹理贴图

前言随着地理信息系统产业的发展,三维产品也在生活中处处吸引着我们的眼球。作为数字城市的核心内容,城市模型的构建成为了目前研究的热点。OpenGL是独立于操作系统和硬件环境的三维图形库,其为实现逼真的三维绘制效果和建立交互的三维场景提…

ES6 课程概述④

文章目录6-1. 对象解构什么是解构在解构中使用默认值非同名属性解构7-2. 共享符号7-3. 知名(公共、具名)符号[回顾]事件循环8-1. 事件和回调函数的缺陷8-2. 异步处理的通用模型8-3. Promise 的基本使用8-4. Promise 的串联8-5. Promise 的其他 api原型成…

通关手册 | 祝我通关成功!!!

Framework of MLLoss on training data1. large1.1 Model Bias1.2 Optimization2. smallLoss on testing data2.1 large2.1.1 overfitting2.1.2 mismatch2.2 small通关手册:祝我通关成功!!! Loss on training data 1. large 1.1…

Vue--》Vue3生命周期以及其它组合API的讲解

目录 生命周期 自定义hook函数 toRef shallowReactive与shallowRef readonly与shallReadonly toRaw与markRaw 生命周期 Vue3.0中可以继续使用Vue2.x中的生命周期钩子,但是有两个被更名:Vue2中的beforeDestroy改名为:beforeUnmount&…