helm安裝配置jenkins

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;下的小波系數…