jenkins部署(docker)
docker部署,避免安装tomcat
1.拉镜像
docker pull jenkins/jenkins
2.宿主机创建文件夹
mkdir -p /lzp/jenkins_home
chmod 777 /lzp/jenkins_home/
3.启动容器
docker run -d -p 49001:8080 -p 49000:50000 --privileged=true -v /lzp/jenkins_home:/var/jenkins_home -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime --name myjenkins jenkins/jenkins
49001用于web访问 账户admin 密码在docker 日志中查看
4.配置镜像加速
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
5.更新最新版本
jenkins官网
在界面下载war包
然后传到服务器
然后把war包传到docker容器中
docker cp /lzp/jenkins_home/jenkins.war myjenkins:/usr/share/jenkins
myjenkins是容器名称
然后docker restart重启容器就是最新版了
6.权限管理插件
Role-based Authorization Strategy
针对不同视图分配不同权限,每个视图是一个项目,可以添加前端和后端等各种项目。
针对用户可以分成开发和生产用户,每个项目名称可以带dev和prod用于区分。
账号有:
开发账号:lzp-dev 只能构建 且只能看到权限内的dev项目
开发账号管理员:lzp-dev-admin 构建编辑添加项目 能看到所有dev项目
生产账号:lzp-prod 构建生产环境项目(可以不加,生产环境只能管理员部署)
生产账号管理员:lzp-prod-admin 能编辑添加构建所有生产环境项目
6.1.配置global roles
新建四种角色
这样就表示 admin角色账号有管理员权限,也就是所有权限
dev角色有read+build
dev-admin 可以任意操作 dev的项目
prod-admin 可以任意操作 prod的项目
6.2.配置 item roles
新建三种角色 用于区分项目
这样就表示 itemdev角色可以看到dev的项目
itemprod角色可以看到prod的项目 每个项目带dev或prod后缀
project01dev角色 可以看到project01dev的项目 project为项目名称
6.3.为账户分配global roles
可以分配多个角色
这样就表示 lzp-dev账号也就是lzp-开发账号 有dev的角色 有read+build的功能
6.4.为账户分配item role
可以分配多个角色
这样就表示 开发账号 也就是lzp-dev(lzp-开发账号为lzp-dev账号的名称)有project01dev项目的权限,可以部署
这样登录lzp-开发账号只能部署项目,且只能看到project01dev配置的项目
登录lzp-开发账号管理员 能看到且编辑所有itemdev配置的项目,也就是带dev后缀的项目
登录lzp-生产账号管理员 能看到且编辑所有itemprod配置的项目 也就是带prod后缀的项目
7.配置maven
全局工具配置
然后在项目配置里选择这个maven
这样在构建项目时会自动下载maven
修改maven源
<mirror><id>nexus-aliyun</id><mirrorOf>*,!jeecg,!jeecg-snapshots,!getui-nexus,!hsweb-nexus,!com.e-iceblue</mirrorOf><name>Nexus aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public</url></mirror>
maven下载的依赖:
8.构建后jar包上传
插件
publish over ssh
然后系统管理/系统配置中增加ssh服务器
9.构建前端
插件:nodejs
然后在系统管理全局工具配置中配置nodejs
然后在项目里配置打包策略
node -v
npm install --global yarn --registry=https://registry.npm.taobao.org
yarn install
rm -rf ./dist-test/*
yarn build:dev
相关文章:

jenkins部署(docker)
docker部署,避免安装tomcat 1.拉镜像 docker pull jenkins/jenkins2.宿主机创建文件夹 mkdir -p /lzp/jenkins_home chmod 777 /lzp/jenkins_home/3.启动容器 docker run -d -p 49001:8080 -p 49000:50000 --privilegedtrue -v /lzp/jenkins_home:/var/jenkins_…...

Python实现时间序列分析AR定阶自回归模型(ar_select_order算法)项目实战
说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 时间序列分析中,AR定阶自回归模型(AR order selection)是指确定自回…...

Springboot自定义线程池实现多线程任务
1. 在启动类添加EnableAsync注解 2.自定义线程池 package com.bt.springboot.config;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.concurrent.ThreadPoolTask…...

linux离线升级openssh方法
检查openssh版本: 升级前openssh 版本为7.4 openssl 版本为1.0.2k Openssh9.6 所需openssl >1.1.1 因此openssl也需要升级。 为了防止升级失败,无法使用SSH登录,首先安装telnet 预防。查看是否安装了telnet 客户端及服务 未安装tel…...

(五)MySQL的备份及恢复
1、MySQL日志管理 在数据库保存数据时,有时候不可避免会出现数据丢失或者被破坏,这样情况下,我们必须保证数据的安全性和完整性,就需要使用日志来查看或者恢复数据了 数据库中数据丢失或被破坏可能原因: 误删除数据…...

VitePress-04-文档中的表情符号的使用
说明 vitepress 的文档中是支持使用表情符号的,像 😂 等常用的表情都是支持的。 本文就来介绍它的使用方式。 使用语法 语法 : :表情名称: 例如 : :joy: 😂 使用案例代码 # 体会【表情】的基本使用 > hello world …...
Redis客户端之Redisson(二)Redisson组件
Redisson的几个常用客户端 一、RedissonClient 1、创建 通过Config对象配置RedissonClient所需要的参数,然后获取RedissonClient对象即可。 Config config new Config(); config.useSingleServer().setAddress("redis://127.0.0.1:6379"); RedissonC…...

用Visual Studio Code创建JavaScript运行环境【2024版】
用Visual Studio Code创建JavaScript运行环境 JavaScript 的历史 JavaScript 最初被称为 LiveScript,由 Netscape(Netscape Communications Corporation,网景通信公司)公司的布兰登艾奇(Brendan Eich)在 …...
spring-web搭建
先说说这篇文章看完你能学习到什么吧 1:spring-web是什么原理以及组成,2:spring-web的搭建(以普通tomcat服务器做基础),3:敲黑板 1:spring-web是什么原理以及组成 spring-web是sp…...

C++ 之LeetCode刷题记录(二十三)
😄😊😆😃😄😊😆😃 开始cpp刷题之旅。 目标:执行用时击败90%以上使用 C 的用户。 118. 杨辉三角 给定一个非负整数 numRows,生成「杨辉三角」的前 numRows …...

在ubuntu上在安装Squid代理服务器
Squid 是一个代理和缓存服务器,它将请求转发到所需的目的地,同时保存请求的内容,当你再次请求相同内容时,他可以向你提供缓冲内容,从而提高访问速度。Squid代理服务器目前支持的协议有:http、SSL、DNS、FTP…...
如何解决 MySQL 的 socket 错误
MySQL 通过使用 socket 文件 来管理与数据库服务器的连接,这是一种特殊类型的文件,用于促进不同进程之间的通信。MySQL 服务器的 socket 文件名为 mysqld.sock,在 Ubuntu 系统中通常存储在 /var/run/mysqld/ 目录中。这个文件会被 MySQL 服务…...

5G智慧钢铁厂数字孪生三维可视化,推进钢铁新型工业化数字化转型
5G智慧钢铁厂数字孪生三维可视化,推进钢铁新型工业化数字化转型。随着科技的不断发展,数字化转型已经成为钢铁企业转型升级的必经之路。而5G技术的广泛应用,为钢铁企业数字化转型提供了新的机遇。其中,5G智慧钢铁厂数字孪生三维可…...

万户 ezOFFICE DocumentEditExcel.jsp SQL注入漏洞
0x01 产品简介 万户OA ezoffice是万户网络协同办公产品多年来一直将主要精力致力于中高端市场的一款OA协同办公软件产品,统一的基础管理平台,实现用户数据统一管理、权限统一分配、身份统一认证。统一规划门户网站群和协同办公平台,将外网信息维护、客户服务、互动交流和日…...

OpenCV 2 - 矩阵的掩膜操作
1知识点 1-1 CV_Assert(myImage.depth() == CV_8U); 确保输入图像是无符号字符类型,若该函数括号内的表达式为false,则会抛出一个错误。 1-2 Mat.ptr(int i = 0); 获取像素矩阵的指针,索引 i 表示第几行,从0开始计行数。 1-3 const uchar* current = mylmage.ptr(row); 获得…...

linux -- 内存管理 -- 页面分配器
linux内存管理 为什么要了解linux内存管理 分配并使用内存,是内核程序与驱动程序中非常重要的一环。内存分配函数都依赖于内核中一个非常复杂而重要的组件 - 内存管理。 linux驱动程序不可避免要与内核中的内存管理模块打交道。 linux内存管理可以总体上分为两大…...

StarRocks-3.1.0 单节点部署
1. 相关环境准备 FE: /opt/starrocks BE: /opt/starrocks 安装包下载 wget https://releases.starrocks.io/starrocks/StarRocks-3.1.0.tar.gz解压缩 tar -zxvf StarRocks-3.1.0.tar.gz 安装jdk (v2.5 及以上版本建议安装 JDK 11,我们使用…...

2023美赛A题之Lotka-Volterra【完整思路+代码】
这是2023年的成功,考虑到曾经付费用户的负责,2024年可以发出来了。去年我辅导队伍数量:15,获奖M为主,个别F,H,零S。言归正传,这里我开始分享去年的方案。由于时间久远,我…...

关于如何将Win幻兽帕鲁服务端存档转化为单人本地存档的一种方法(无损转移)
本文转自博主的个人博客:https://blog.zhumengmeng.work,欢迎大家前往查看。 原文链接:点我访问 **起因:**最近大火的开放世界缝合体游戏幻兽帕鲁的大火也是引起了博主的注意,然后博主和周边小伙伴纷纷入手,博主也是利…...

计算机网络——IP协议
前言 网络层的主要负责地址分配和路由选择,ip负责在网络中进行数据包的路由和传输。 IPv4报文组成(了解) IPv4首部:IPv4首部包含了用于路由和传输数据的控制信息,其长度为20个字节(固定长度)。 版本&#…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...

Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...

k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...