1、k8s1.28.2、helm3.12.0,集群搭建

查看节点运行情况

kubectl get node -o wide

openebs部署情况

kubectl get sc -n openebs

2、添加Jenkins Helm仓库

helm repo add jenkins https://charts.jenkins.iohelm repo update# 查看版本
helm search repo -l jenkins/jenkins

3、创建命名空间

kubectl create namespace jenkins

看看有哪些 可用的StorageClass

kubectl get storageclass

4、配置jenkins-values.yaml:(顺带JDK17、调度到zk3节点,用openebs-hostpath存储)

controller:numExecutors: 2image:registry: docker.iorepository: jenkins/jenkinstag: lts-jdk17serviceType: NodePortnodePort: 30080persistence:enabled: truestorageClass: openebs-hostpathsize: 8GinodeSelector:kubernetes.io/hostname: zk3additionalVolumes:- name: host-mavenhostPath:path: /opt/maventype: DirectoryadditionalVolumeMounts:- name: host-mavenmountPath: /opt/mavensidecars:containers:- name: kanikoimage: gcr.io/kaniko-project/executor:latestimagePullPolicy: IfNotPresentcommand: ["/busybox/cat"]tty: truevolumeMounts:- name: kaniko-secretmountPath: /kaniko/.docker- name: host-mavenmountPath: /opt/mavenvolumes:- name: kaniko-secretsecret:secretName: regcredresources:limits:cpu: 2memory: 4Girequests:cpu: 1memory: 2Girbac:create: trueserviceAccount:create: true

执行安装:

#如果之前存在,则先清空
helm uninstall jenkins -n jenkins#安装
helm upgrade --install jenkins jenkins/jenkins \-n jenkins \-f jenkins-values.yaml

安装完成:

 5、进入http://ip:30080,配置Manage Jenkins ---->Plugins

gitlab、harbor、maven、docker、Kubernetes、Config File Provider等插件,
所有提示更新的插件都要更新,尤其是Kubernetes

拿到初始密码

kubectl -n jenkins get secret jenkins -o jsonpath="{.data.jenkins-admin-password}" | base64 -d && echo

配置gitlab:(配置api-token,用的是gitlab中头像下preferences的Access Tokens,没有就创建一个)

 

docker部署nexus私有库、在jenkins中全局Tools中配置maven的settings.xml

6、Manage Jenkins ---->Managed files配置setting私有库nexus连接

#如果没安装nexus私有库,找一个node节点用docker安装即可
docker run -d --name nexus   -p 8081:8081  -v /opt/sonatype/sonatype-work:/nexus-data  sonatype/nexus3#在/opt/sonatype/sonatype-work下找到admin.password拿到密码登录
http://ip:8081#登录后修改账号/密码,settings.xml要用到,这个settings.xml就是maven的,也可以本地构建推送到nexus仓库#新增一个配置
Add a new Config#选择
Maven settings.xml#改掉下面的id为:
my-settings	#点击下一步#在Content中配置加入以下内容<servers><server><id>nexus</id><username>admin</username><password>ok5201314</password> <!-- 换成你自己的密码 --></server></servers><mirrors><!-- 阿里云仓库,个人配置 --><mirror><id>alimaven</id><mirrorOf>central</mirrorOf><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/repositories/central/</url></mirror></mirrors><profiles><profile><id>use-nexus</id><repositories><repository><id>nexus</id><url>http://192.168.3.60:8081/repository/maven-snapshots/</url><snapshots><enabled>true</enabled></snapshots><releases><enabled>true</enabled></releases></repository></repositories></profile></profiles><activeProfiles><activeProfile>use-nexus</activeProfile></activeProfiles>

7、在微服务的pipeline script中配置如下:

gitlab-pat配置gitlab的账号/密码凭证, 通过mvn clean deploy -DskipTests --settings $MAVEN_SETTINGS推送到微服务中配置的私有库

pipeline {agent anytools {maven 'Maven-3.6.3'}environment {GIT_USER_NAME = 'root' #gitlab账号GIT_USER_EMAIL = 'admin@example.com' #gitlab邮箱}stages {stage('Checkout') {steps {checkout([$class: 'GitSCM',branches: [[name: '*/main']],extensions: [submodule(parentCredentials: true, recursiveSubmodules: true),[$class: 'UserIdentity', email: "${env.GIT_USER_EMAIL}", name: "${env.GIT_USER_NAME}"]],userRemoteConfigs: [[credentialsId: 'gitlab-pat',url: 'http://192.168.3.60:9980/spring_cloud_java/spring-cloud-parent.git']]])}}stage('Deploy to Nexus') {steps {configFileProvider([configFile(fileId: 'my-settings', variable: 'MAVEN_SETTINGS')]) {sh 'mvn clean deploy -DskipTests --settings $MAVEN_SETTINGS'}}}}post {failure {echo "构建失败!请检查日志。"}success {echo "构建并部署成功!"}}
}

代码中引入nexus私有库

8、spring-cloud-parent、common微服务中配置

<project>
<distributionManagement><snapshotRepository><id>nexus</id><url>http://192.168.3.60:8081/repository/maven-snapshots/</url></snapshotRepository></distributionManagement>
</project>

9、在user-center配置

<project>
<dependencyManagement><dependencies><!-- 引入 common 的 dependencyManagement 配置 --><dependency><groupId>org.algorithm</groupId><artifactId>common</artifactId><version>1.0-SNAPSHOT</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><dependencies>
<dependency><groupId>org.algorithm</groupId><artifactId>common</artifactId><version>1.0-SNAPSHOT</version><scope>compile</scope></dependency></dependencies><repositories><repository><id>nexus</id><url>http://192.168.3.60:8081/repository/maven-snapshots/</url><snapshots><enabled>true</enabled></snapshots><releases><enabled>true</enabled></releases></repository></repositories></project>

10、首先构建spring-cloud-parent、再构建common,如果有版本修改common,需要先构建common,再构建user-center。

11、如果在项目中用http的链接方式访问nexus私有库(如http://192.168.3.60:8081/repository/maven-snapshots/),Maven installations配置的maven版本要用3.6.3,因为3.8.1以后都要用https,所以Install automatically配置时候选了3.6.3。

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

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

相关文章

Wagtail - Django 内容管理系统

文章目录 一、关于 Wagtail1、项目概览2、相关链接资源3、功能特性 二、安装配置三、使用入门1、快速开始2、兼容性 四、其它社区与支持1、社区资源2、商业支持 开发贡献参考项目参考文献 一、关于 Wagtail 1、项目概览 Wagtail 是一个基于 Django 构建的开源内容管理系统&am…

Spring AI Alibaba 来啦!!!

博客标题&#xff1a;Spring AI Alibaba&#xff1a;深度解析其优势与阿里云生态的无缝集成 引言 随着人工智能技术的快速发展&#xff0c;越来越多的企业和开发者开始关注如何将 AI 技术融入到现有的应用开发框架中。Spring AI 作为 Spring 框架在 AI 领域的扩展&#xff0c;…

【论文阅读39】PINN求边坡内时空变化的地震动响应(位移、速度、加速度)场分布

论文提出了一种基于物理信息神经网络&#xff08;PINN&#xff09;和极限分析上界定理相结合的岩体边坡地震稳定性分析框架&#xff0c;重点考虑了边坡中的预存裂缝对稳定性的影响。 PINN用来求解岩质边坡内随时间和空间变化的地震动响应&#xff08;位移、速度、加速度&#…

驱动开发系列59- 再述如何处理硬件中断

在本文中,我们将重点讨论编写设备驱动程序时一个非常关键的方面:什么是硬件中断,更重要的是,作为驱动开发者,你该如何准确地处理它们。事实上,大量的外设(也就是你可能会为其编写驱动的设备)在需要操作系统或驱动程序立即响应时,通常会通过触发硬件中断的方式发出请求…

【蓝牙】Linux Qt4查看已经配对的蓝牙信息

在Linux系统中使用Qt4查看已配对的蓝牙设备信息&#xff0c;可以基于DBus与BlueZ&#xff08;Linux下的蓝牙协议栈&#xff09;进行交互。以下是一个实现方案&#xff1a; 1. 引入必要的库和头文件 确保项目中包含DBus相关的头文件&#xff0c;并链接QtDBus模块&#xff1a; …

企业客户数据防窃指南:从法律要件到维权实操

作者&#xff1a;邱戈龙、曾建萍 ——上海商业秘密律师 在数字经济时代&#xff0c;客户数据已成为企业最核心的资产之一。然而&#xff0c;数据显示&#xff0c;近三年全国商业秘密侵权案件中&#xff0c;涉及客户信息的案件占比高达42%&#xff0c;但最终进入刑事程序的不足…

WHAT - React Native 中 Light and Dark mode 深色模式(黑暗模式)机制

文章目录 一、Light / Dark Mode 的原理1. 操作系统层2. React Native 如何获取?3. 样式怎么跟着变?二、关键代码示例讲解代码讲解:三、自定义主题四、运行时自动更新五、核心原理一张图组件应用例子最小示例:动态样式按钮的动态样式如何封装一套自定义主题四、如何和 Them…

[25-cv-07396、25-cv-07470]Keith代理Anderson这9张版权图,除此之外原告还有50多个版权!卖家要小心!

Anderson 版权图 案件号&#xff1a;25-cv-07396、25-cv-07470 立案时间&#xff1a;2025年7月2日 原告&#xff1a;Anderson Design Group, Inc. 代理律所&#xff1a;Keith 原告介绍 原告是美国的创意设计公司&#xff0c;成立于1993年&#xff0c;简称ADG&#xff0c;一…

五、代码生成器:gen项目开发

目录 1.新建数据库 2.nacos中配置文件 3.gen项目配置代码 4.前端项目 我们再项目中需要代码生成器,这边自己开发一个gen代码生成器服务。 1.新建数据库 CREATE TABLE `gen_table` (`table_id` bigint NOT NULL AUTO_INCREMENT COMMENT 编号,`table_name` varchar(200) DEF…

UI前端大数据处理安全性保障:数据加密与隐私保护策略

hello宝子们...我们是艾斯视觉擅长ui设计、前端开发、数字孪生、大数据、三维建模、三维动画10年经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩! 一、引言&#xff1a;大数据时代前端安全的核心挑战 在数据驱动业务发展的今天&#xff0c;U…

基于 alpine 构建 .net 的基础镜像

准备基础镜像 alpine:3.22 完整的 Dockerfile 如下&#xff1a; # 使用官方的 Alpine 3.22 镜像作为基础镜像 FROM --platform$TARGETPLATFORM alpine:3.22 AS builder# 设置环境变量 ENV DEBIAN_FRONTENDnoninteractive# 创建目录结构 WORKDIR /app# 备份原始源文件并更换为…

Blob分析及形态学分析

目录 Blob分析的基本思想&#xff1a; Blob分析主要流程&#xff1a; Blob分析 分割: Binary Threshold 分割: Histogram 分割: 动态阈值 全局阈值与动态局部阈值的比较 形态学处理 连通区域 connetion 形态学算子 特征提取 提取特征 常用相关算子 区域特征&#…

中小河流雨水情监测预报系统解决方案

一、方案概述 中小河流在防洪减灾体系中地位关键&#xff0c;但由于其数量众多、分布广泛&#xff0c;监测预报基础相对薄弱&#xff0c;易引发洪水灾害&#xff0c;威胁沿岸居民生命财产安全。本系统旨在构建完善的中小河流雨水情监测预报体系&#xff0c;提升防洪减灾能力。实…

Abase和ByteKV存储方案对比

Abase 和 ByteKV 是字节跳动内部自研的两款分布式 KV 存储系统&#xff0c;虽然都服务于大规模在线业务&#xff0c;但在设计目标、架构模型、适用场景等方面存在显著差异。以下是核心区别的详细分析&#xff1a; &#x1f527; ‌1. 设计目标与一致性模型‌ ‌Abase‌&#x…

JSON的缩进格式方式和紧凑格式方式

将对象转化为json格式字符串在以缩进的方式显示 HxParamMsg hxCommMsg new HxParamMsg() {name "Tom",age 25 }; string json JsonConvert.SerializeObject(hxCommMsg); var parsed JToken.Parse(json); string data parsed.ToString(Formatting.Indented); // …

设计模式篇:灵活多变的策略模式

引言&#xff1a;从现实世界到代码世界的面向对象在商业策略制定中&#xff0c;企业会根据市场环境选择不同的竞争策略&#xff1b;在军事行动中&#xff0c;指挥官会根据敌情选择不同的战术&#xff1b;在游戏对战中&#xff0c;玩家会根据局势调整作战方式。这种根据情境选择…

Bitvisse SSH Client 安装配置文档

一、软件功能介绍​ Bitvisse SSH Client 是一款功能强大的 SSH 客户端软件&#xff0c;具备以下显著特点&#xff1a;​ 丰富的代理隧道协议支持&#xff1a;支持 socks4、socks4a、socks5 和 http 等多种连接代理隧道协议&#xff0c;为网络连接提供多样选择。​便捷的应用…

DataGear 5.4.1 发布,数据可视化分析平台

DataGear 数据可视化分析平台 5.4.1 发布&#xff0c;BUG修复&#xff0c;具体更新内容如下&#xff1a; 修复&#xff1a;修复SQL数据集使用预编译语法后SQL关键字防注入功能不起作用的BUG&#xff1b;修复&#xff1a;修复内置图表选项disableSetting在图表展示页不起作用的…

Visual Studio install 解决进度条不加载,自动安装失败导致软件无法打开问题

路径 C:\Windows\System32\drivers\etc修改hosts文件&#xff0c;需要右键管理员权限打开。 # Copyright (c) 1993-2009 Microsoft Corp. # # This is a sample HOSTS file used by Microsoft TCP/IP for Windows. # # This file contains the mappings of IP addresses to h…

关于小波降噪、小波增强、小波去雾的原理区分

在传统的图像处理中使用小波分解是一种常见的方法。经常分不清小波降噪和小波增强的区别&#xff0c;简单记录下二者的区别同时再记录一下小波去雾的原理。一、小波降噪原理信号分解小波降噪基于小波变换。它将含噪信号分解成不同尺度&#xff08;频率&#xff09;下的小波系数…