docker + K3S + Jenkins + Harbor自动化部署

linux安装k3s安装和搭建Harbor私仓全流程一步到位! K3s安装依赖docker,所以在此之前需安装好docker,如果k3s安装连接外部数据库,也需要提前安装好。本文我们主要讲k3s的安装,选择需要安装的主节点,3主2工作节点,主节点我们选择IP1、IP2、IP3,工作节点Node1、Node2.加载:docker load -i k3s-airgap-images-amd64.tar。安装完成后,并没有出现错误,说明安装成功,查看节点状态。 阅读详情

最近公司在研究自动化部署的一套流程,下面记录一下配置流程

需要提前准备好Jenkins  Harbor  Git(其他管理工具也可以)

我这里的打包编译流程是Jenkins上配置打包任务-->自动到git目录下找打包文件---->项目编译后打镜像包------>打完镜像包将镜像上传到harbor仓库----->通过yaml配置文件手动部署(最后一步其实也可以合并到Jenkins中,需要的自行学习)

一.准备打包文件

我的项目是springboot+vue 的所以我把打包文件分开写了,你也可以合并到一起。

文件中标红的内容需要替换自己的信息

1.Spring boot后台项目目录下添加打包文件

后台Jenkinsfile文件内容

pipeline {
agent {
node {
label 'maven'
}

}

parameters {
gitParameter name: 'BRANCH_NAME', branch: '', branchFilter: '.*',defaultValue: 'master',description: '请选择要发布的分支',quickFilterEnabled: false,type: 'PT_BRANCH_TAG'
choice(name: 'NAMESPACE', choices: ['master', 'fea-alert','dev-sit'],description: '命名空间')
string(name: 'TAG_NAME', defaultValue: 'snapshot', description: '标签名称,必须以 v 开头,例如:v1、v1.0.0')
}
environment {
DOCKER_CREDENTIAL_ID = 'harbor-user-pass' // 替换为你的 Docker Hub 凭证 ID
GIT_REPO_URL = '192.168.xxx.xxx' //git地址
GIT_CREDENTIAL_ID = 'private-git-token' //git凭证id
GIT_ACCOUNT = 'usernamexxx' //git账号
REGISTRY = '192.168.xxx.xxx:80' //harbor地址
DOCKERHUB_NAMESPACE = 'zdyxxx' //harbor命名空间 换自己的
APP_NAME = 'itwg-monitor-platformxxx' //应用名称

}
stages {
stage('chechout scm') {
steps {
checkout scmGit(branches: [[name: "$BRANCH_NAME"]], extensions: [], userRemoteConfigs: [[credentialsId: "$GIT_CREDENTIAL_ID", url: "https://192.168.xxx.xxx/xxx.git"]])
}
}
stage('unit test manager') {
steps {
withMaven(jdk: 'jdk17') {
sh 'mvn clean test -f zdy-hertzbeat/pom.xml -P prod'
}
}
}
stage('build & push mamager') {
steps {
withMaven(jdk: 'jdk17') {
sh 'mvn clean package -DskipTests -f zdy-hertzbeat/pom.xml'
}
sh 'docker build -f zdy-hertzbeat/kubernetes/build/manage/Dockerfile -t $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:SNAPSHOT-$BUILD_NUMBER .'
withCredentials([usernamePassword(passwordVariable : 'DOCKER_PASSWORD' ,usernameVariable : 'DOCKER_USERNAME' ,credentialsId : "$DOCKER_CREDENTIAL_ID")]) {
sh 'echo "$DOCKER_PASSWORD" | docker login $REGISTRY -u "$DOCKER_USERNAME" --password-stdin'
sh 'docker push $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:SNAPSHOT-$BUILD_NUMBER'
}

}
}

stage('push latest manager') {
steps {
sh 'docker tag $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:SNAPSHOT-$BUILD_NUMBER $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:latest'
sh 'docker push $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:latest'
}
}
}
}

后台Dockerfile

## 基础镜像

FROM openjdk:17

## 作者
LABEL org.

k3s | k8s 部署harbor(无坑版) harbor部署 harbor安装 k8s安装harbor k3s安装harbor 阅读详情

相关推荐

部署harbor私有镜像仓库及k3s离线部署集群

harbor私有镜像仓库及k3s离线部署集群

qq_48621236的博客 994

基于Docker + K3S + Jenkins + Harbor的云原生自动化部署实践

本文详细介绍了基于Docker、K3S、Jenkins和Harbor构建云原生自动化部署流水线的完整实践。通过整合这些开源工具,实现了从代码提交到服务上线的全流程自动化,有效解决了中小团队在手动部署中效率低下、易出错等痛点。方案轻量、成本可控,并分享了环境搭建、流水线编写、参数化构建及生产级优化等核心步骤与避坑指南。

oauth7security的博客 471

从零搭建K3S+Jenkins+Harbor全栈自动化部署流水线

本文详细介绍了如何从零搭建K3S+Jenkins+Harbor全栈自动化部署流水线,帮助中小团队实现高效的云原生应用部署。通过K3S轻量级Kubernetes集群、Jenkins持续集成工具和Harbor私有镜像仓库的组合,实现代码提交后的自动构建、镜像推送和部署,大幅提升开发效率和系统稳定性。

weixin_29313423的博客 392

微服务 DevOps 开发、部署、运维、监控告警

团队协作、开发、测试、部署开源工具平台 容器部署平台 Docker Docker Harbor Docker镜像私有仓库 Portainer Docker可视化容器管理平台 Centos7上安装docker docker安装可视化工具Portainer Docker搭建Harbor私有仓库 代码管理协作平台: GitLab docker下gitlab安装配置使用(完整版) docker安装配置gitlab详细过程 代码编译版本管理平台: Maven nexus 仓库 Docker安装 Nexus 代码CI

zhaoyang10的专栏 2818

SpringBoot+Vue项目如何用Jenkins Pipeline实现一键自动化部署到K3S集群(含Harbor配置避坑指南)

本文详细介绍了如何利用Jenkins Pipeline实现SpringBoot+Vue项目的一键自动化部署到K3S集群,包括Harbor私有镜像仓库的HTTPS配置避坑指南、多模块并行构建策略以及前端路由History模式适配等核心解决方案。通过实战案例,帮助开发者高效完成云原生环境下的CI/CD流程。

pear55的博客 595

中小团队福音:基于K8s+GitLab+Jenkins的低成本CI/CD环境搭建全记录(避坑指南)

本文详细介绍了中小团队如何基于K8s+GitLab+Jenkins搭建低成本CI/CD环境,提供从环境规划、轻量级K8s集群部署到一体化工具链配置的全流程解决方案,特别针对资源优化和常见陷阱给出实战建议,帮助团队高效实现自动化部署。

weixin_30693683的博客 423

activiti(六):activiti7的数据表和字段的解释

介绍activiti7的数据表和各表字段的含义,对于学习activiti7工作流引擎的运行过程很有帮助!

no problem的博客 1万+

CocosCreator视频播放黑屏?手把手教你封装VideoPlayer组件解决Web环境问题

本文针对Cocos Creator在Web环境下视频播放黑屏等常见问题,提供了一套工程化的VideoPlayer组件封装解决方案。文章深入剖析了浏览器自动播放策略、DOM样式隔离等核心挑战,并手把手教你实现一个健壮的管理器,涵盖兼容性处理、性能优化与内存管理,确保视频播放稳定流畅。

plum99的博客 598

92. SAP ABAP 系统里长文本 Long Text 的设计和读取函数 READ_TEXT 的详细讲解

SAP ABAP中的长文本(Long Text)是指在SAP系统中存储和管理较长文本信息的一种机制。长文本通常用于存储描述性信息、注释、说明等,这些文本信息可能超过了标准数据库表字段的长度限制。 长文本的作用主要有以下几点: 1. 更多的信息存储:长文本允许您存储和显示比标准表字段允许的更多信息。例如,产品描述、用户注释、维护计划等可能需要大量的文本来详细描述。 2. 更好的可读性:长文本提供了更好的文本格式化选项,可以改善可读性。用户可以使用段落、列表、字体样式等格式化文本,以便更容易地理解和阅读。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1997

01 - 什么是SVM

摘要:SVM(共享虚拟内存)技术使CPU和GPU能共享同一虚拟地址空间,简化异构计算编程。传统模型需手动管理CPU/GPU内存和拷贝数据,而SVM允许直接传递指针,自动处理页面迁移和一致性维护。其核心包括统一地址空间、按需迁移、页面故障处理和一致性管理,显著降低编程复杂度并提升性能。通过HMM框架、MMU通知和GPU页面异常等机制实现高效内存共享,支持复杂数据结构,为异构计算带来便利。

图形/计算GPU的驱动与虚拟化技术分享园地 3132

ResNet改进(7):添加 SK注意力机制

实现 SK 注意力机制。

2401_82355416的博客 732

出现 Connection Failed [MySQL][ODBC Driver]Access denied for user ‘root‘@x(using password:YES)解决方法

Connection Failed [MySQL][ODBC 8.0(w) Driver]Access denied for user 'root'@xxxx (using password:YES)

码农研究僧的博客 1060

ABB变频器使用PROFINET IO通信模块时的激活方法

ABB变频器使用PROFINET IO通信模块时的激活方法

Robot_PLC_HMI_Automation 2734

STM32入门教程:图像处理

然后,我们使用 STM32 的 DSP 模块中的 arm_mean_u8 函数计算原始图像的平均值,并将结果存储在 meanValue 变量中。然后,我们需要编写代码配置 STM32 的外部中断输入引脚,并在中断处理函数中读取 OV7670 摄像头模块输出的图像数据。然后,我们需要编写代码配置 STM32 的 USB OTG 接口,并在回调函数中读取 USB 摄像头输出的图像数据。一、图像采集 图像采集是图像处理的第一步,我们需要将外部图像源的数据导入到 STM32 中进行处理。

2401_85625565的博客 1616

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

上一篇: Spring Boot 集成spring-boot-starter-data-elasticsearch
下一篇: K3S离线部署
Java程序之猿
博客等级 码龄9年 2599粉丝 140原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值