Kubernetes自动化配置部署
在新建工程中,使用k8s的devops服务,自动化部署项目
1、在搭建好k8s的集群中,确认已开启devops服务;
2、新建Maven项目之后,创建dockerfile、deploy和Jenkins文件
例如:
Dockerfile
FROM bairong.k8s.master1/br-sjzl/tomcat:9.0-jdk8-temurin-focalENV TZ=Asia/ShanghaiRUN mkdir /usr/local/tomcat/webapps/userfilesCOPY bairong-web/target/*.war /usr/local/tomcat/webapps/
Deploy.yaml
apiVersion: apps/v1kind: Deploymentmetadata:name: czdataease-javanamespace: br-demo-projectannotations:deployment.kubernetes.io/revision: '1'kubesphere.io/creator: br-project-regularspec:replicas: 1selector:matchLabels:app: czdataease-javatemplate:metadata:labels:app: czdataease-javaspec:imagePullSecrets: # 如过使用harbor仓库得镜像,需要设置从secret处拉取镜像 查看 kubectl get secret- name: harbor-pullcontainers:- name: czdataease-javaimage: bairong.k8s.master1/br-sjzl/czdataease-java:latestimagePullPolicy: Alwaysports:- containerPort: 8080name: nginxvolumeMounts:- name: czdataease-nfs-volumemountPath: /usr/local/tomcat/webapps/userfiles# command: ["sh", "-c"]# args:# - |# cp -R /usr/local/tomcat/webapps/1 /usr/local/tomcat/webapps/userfiles/volumes:- name: czdataease-nfs-volumepersistentVolumeClaim:claimName: br-czdataease-nfs-pvc ---apiVersion: v1kind: Servicemetadata:name: czdataease-java-servicenamespace: br-demo-projectannotations:deployment.kubernetes.io/revision: '1'kubesphere.io/creator: br-project-regularspec:selector:app: czdataease-javaports:- protocol: TCPname: nginxport: 8080targetPort: 8080nodePort: 30261type: NodePort
Jenkins
pipeline {agent {node {label 'nodejs'}}stages {stage('拉取') {agent nonesteps {container('nodejs') {git(url: 'http://192.168.19.199:12589/org_dataapplication/czDataease_vue.git', credentialsId: 'zyq', branch: 'master', changelog: true, poll: false)}}}stage('编译') {agent nonesteps {container('nodejs') {sh 'npm install --registry=http://192.168.19.197:31081/repository/npm-group/'sh 'npm run build'}}}stage('打包') {agent nonesteps {container('nodejs') {sh 'docker build -t czdataease-vue:latest -f docker/Dockerfile .'}}}stage('推送') {agent nonesteps {container('nodejs') {withCredentials([usernamePassword(credentialsId : 'br-dockerhub-id' ,usernameVariable : 'DOCKER_USER_VAR' ,passwordVariable : 'DOCKER_PWD_VAR' ,)]) {sh 'echo $DOCKER_PWD_VAR | docker login $BR_REGISTRY --username=$DOCKER_USER_VAR --password-stdin'sh 'docker tag czdataease-vue:latest $BR_REGISTRY/$BR_DOCKERHUB_NAMESPACE/czdataease-vue:latest'sh 'docker push $BR_REGISTRY/$BR_DOCKERHUB_NAMESPACE/czdataease-vue:latest'}}}}stage('镜像部署') {agent nonesteps {container('nodejs') {withCredentials([kubeconfigFile(credentialsId: env.KUBECONFIG_CREDENTIAL_ID, variable: 'KUBECONFIG')]) {sh '''envsubst < deploy/deploy.yaml | kubectl apply -f -kubectl rollout restart deploy/br-czdataease-vue -n br-demo-project'''}}}}}environment {DOCKER_CREDENTIAL_ID = 'dockerhub-id'GITHUB_CREDENTIAL_ID = 'github-id'KUBECONFIG_CREDENTIAL_ID = 'kubeconfig-demo'REGISTRY = 'docker.io'BR_REGISTRY = 'bairong.k8s.master1'DOCKERHUB_NAMESPACE = 'bwylove'BR_DOCKERHUB_NAMESPACE = 'br-sjzl'GITHUB_ACCOUNT = 'bwylove'APP_NAME = 'dataease-vue'}parameters {string(name: 'TAG_NAME', defaultValue: '', description: '')}}
3、编辑流水线

4、开git上的webhook服务




5、确认服务已经正常,提交代码进行测试
相关文章:
Kubernetes自动化配置部署
在新建工程中,使用k8s的devops服务,自动化部署项目 1、在搭建好k8s的集群中,确认已开启devops服务; 2、新建Maven项目之后,创建dockerfile、deploy和Jenkins文件 例如: Dockerfile FROM bairong.k8s.m…...
2024年奥莱利科技趋势报告解析
2024年O’Reilly技术趋势报告解读 概述 在快速发展的技术领域,跟上最新趋势对行业内的任何人来说都至关重要。2024年O’Reilly技术趋势报告在此方面提供了关键的指导,全面概述了最重要的技术进步和模式。该年度报告基于O’Reilly著名在线学习平台280万…...
算法打卡Day14
今日任务: 1)104.二叉树的最大深度 2)559.n叉树的最大深度 3)111.二叉树的最小深度 4)222.完全二叉树的节点个数 104.二叉树的最大深度 题目链接:104. 二叉树的最大深度 - 力扣(LeetCode&#…...
Android Kotlin版封装EventBus
文章目录 Android Kotlin版封装EventBus代码封装添加依赖库定义消息类定义常量值定义注解定义工具类 使用在Activity中在Fragment中发送事件 源码下载 Android Kotlin版封装EventBus 代码封装 添加依赖库 implementation("org.greenrobot:eventbus:3.3.1")定义消息…...
VUE父子组件的传参问题
1.父组件向子组件传参 1)这是一个父组件 //这是一个父组件 <div> <port :port-List"portList" ></port> </div> //port 这是子组件的名称export default{components: {},props: {},data() {return{portList:,}},computed: {}…...
四、C#希尔排序算法
简介 希尔排序简单的来说就是一种改进的插入排序算法,它通过将待排序的元素分成若干个子序列,然后对每个子序列进行插入排序,最终逐步缩小子序列的间隔,直到整个序列变得有序。希尔排序的主要思想是通过插入排序的优势࿰…...
华为认证网络工程师的市场需求大吗?
华为认证网络工程师的市场需求非常旺盛,这主要得益于信息技术的快速发展和网络建设的不断扩展。随着云计算、大数据、物联网等新兴技术的普及,企业对于数据通信和网络技术的需求日益增长,为网络工程师提供了广阔的就业空间。 从行业发展趋势来…...
Pytorch:nn.Upsample() 和nn.ConvTranspose2d()
nn.Upsample 原理 nn.Upsample 是一个在PyTorch中进行上采样(增加数据维度)的层,其通过指定的方法(如nearest邻近插值或linear、bilinear、trilinear线性插值等)来增大tensor的尺寸。这个层可以在二维或三维数据上按…...
百度交易中台之系统对账篇
作者 | 天空 导读 introduction 百度交易中台作为集团移动生态战略的基础设施,面向收银交易与清分结算场景,赋能业务、提供高效交易生态搭建。目前支持百度体系内多个产品线,主要包括:度小店、小程序、地图打车、文心一言等。本文…...
Linux 服务升级:MySQL 主从(半同步复制) 平滑升级
目录 一、实验 1.环境 2.Mysql-shell 检查工具兼容性 3.逻辑备份MySQL数据 4.备份MySQL 数据目录、安装目录、配置文件 5.MySQL 升级 6.master节点 使用systemd管理mysql8 7. slave1 节点升级 8. slave2 节点升级 9.半同步设置 二、问题 1.mysqldump备份报错 2.Inn…...
python与excel第一节
python与excel第一节 由于excel在日常办公中大量使用,我们工作中常常会面对高频次或者大量数据的情况。使用python语言可以更加便捷的处理excel。 python与vba的比较 python语法更加简洁,相较于vba冗长复杂的语法,python更加容易学习。 p…...
开发者必备神器 | 全能AI工具助你免费提升开发效率,每日轻松编写代码
全能AI工具助你免费提升开发效率,每日轻松编写代码 前提介绍CodeGeex多语言生成模型支持的编程语言适配多种主流IDE多种IDE插件支持安装VS Code的CodeGeeX插件安装Jetbrains IDEs插件(IntelliJ IDEA,PyCharm)功能实现1. 自动生成和补全代码2. 多语言的代码翻译3. 自动添加注释…...
【RabbitMQ | 第七篇】RabbitMQ实现JSON、Map格式数据的发送与接收
文章目录 7.RabbitMQ实现JSON、Map格式数据的发送与接收7.1消息发送端7.1.1引入依赖7.1.2yml配置7.1.3RabbitMQConfig配置类——(非常重要)(1)创建交换器方法(2)创建队列方法(3)绑定…...
ios symbolicatecrash 符号化crash
一、准备 1.1 .crash 文件获取 设备连接电脑 打开XCode, 依次 XCode -> Windows -> Device and Simulator -> Open Recent Logs 找到 (对应app名+时间点) -> 右键 Show in Finder 1.2 .dSYM 和 .app 文件获取 .dSYM是十六进制函数地址映射信息的中转文件,调试的…...
Rust 语言的 HashMap
HashMap 在 Rust 中是一个非常常用且强大的数据结构,它允许你存储键值对(key-value pairs),并且能够快速地基于键检索值。 下面是使用 HashMap 的一些基本示例: 首先,你需要在你的文件中引入 HashMap: use std::col…...
【目标检测基础篇】目标检测评价指标:mAP计算的超详细举例分析以及coco数据集标准详解(AP/AP50/APsmall.....))
学习视频: 霹雳吧啦Wz-目标检测mAP计算以及coco评价标准 【目标检测】指标介绍:mAP 1 TP/FP/FN TP(True Positive) : IoU>0.5的检测框数量(同一Ground truth只计算一次)FP(False Positive) : IoU<0.5的检测框(或者是检测到同一个GT的多余检测框的…...
服务器与普通电脑的区别,普通电脑是否可以作为服务器使用
服务器在我们日常应用中非常常见,手机APP、手机游戏、PC游戏、小程序、网站等等都需要部署在服务器上,为我们提供各种计算、应用服务。服务器也是计算机的一种,虽然内部结构相差不大,但是服务器的运行速度更快、负载更高、成本更高…...
长安链Docker Java智能合约引擎的架构、应用与规划
#功能发布 长安链3.0正式版发布了多个重点功能,包括共识算法切换、支持java智能合约引擎、支持后量子密码、web3生态兼容等。我们接下来为大家详细介绍新功能的设计、应用与规划。 在《2022年度长安链开源社区开发者调研报告》中,对Java合约语言支持是开…...
STM32 ESP8266模块的曲折探索
这是本文的配套资料,最终工程请参考 新_ESP8266资料\stm32f103成功移植的项目 【免费】stm32f103c8t6esp8266资料资源-CSDN文库 一、等到了ready 产品参数 我使用的是ai-thinker的esp8266-01s,以下为产品规格书 引脚定义: 依据引脚定义&…...
letcode::根据二叉树创建字符串
根据二叉树创建字符串 题目描述: 给你二叉树的根节点 root ,请你采用前序遍历的方式,将二叉树转化为一个由括号和整数组成的字符串,返回构造出的字符串。 空节点使用一对空括号对 “()” 表示,转化后需要省略所有不影…...
嵌入式文件传输协议选型与优化实践
1. 嵌入式文件传输协议概述在嵌入式系统开发中,文件传输是设备间数据交换的基础功能。不同于PC环境,嵌入式设备往往受限于资源(内存、CPU、存储)和网络条件(带宽、稳定性),需要专门优化的传输方…...
好用有省钱的电脑多开神奇工具
今天,我们要介绍的是一款专为电脑用户设计的神奇软件——Safeboxie多开器。这款软件打破了传统限制,无论是游戏还是其他应用程序,都能轻松实现多开。你是否曾为在电脑上无法同时运行多个游戏或软件而烦恼?Safeboxie多开器将完美解…...
2025最权威的六大降AI率平台实际效果
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在学术写作这块领域当中,AI论文工具正一步步地变成研究者的得力助手,…...
和AI一起搞事情#:边剥龙虾边做个中医技能来起号酌
1. 核心概念 在 Antigravity 中,技能系统分为两层: Skills (全局库):实际的代码、脚本和指南,存储在系统级目录(如 ~/.gemini/antigravity/skills)。它们是“能力”的本体。 Workflows (项目级):…...
Token热潮下的低价骗局:数据安全谁来守护?
Token火爆背后:低价商品的疯狂蔓延2026年,Token成为科技圈热词,截至3月,我国日均词元调用量超140万亿,较2024年初增长1000多倍。‘龙虾’的火爆让Token走进大众视野,电商平台上低价Token商品随处可见&#…...
20个核心AI概念拆解:小白也能轻松入门大模型,收藏这份学习秘籍!
本文以通俗易懂的方式,拆解了20个AI领域的核心概念,涵盖神经网络、迁移学习、Transformer架构、大语言模型等。通过比喻和实例,帮助读者理解AI底层逻辑,消除学习AI的障碍。文章强调AI并非高不可攀,只要掌握基本原理&am…...
大模型之Linux服务器部署大模型头
一、各自优势和对比 这是检索出来的数据,据说是根据第三方评测与企业数据,三款产品在代码生成质量上各有侧重: 产品 语言优势 场景亮点 核心差异 百度 Comate C核心代码质量第一;Python首生成率达92.3% SQL生成准确率提升35%&…...
如何实时监控crawler4j爬虫状态与性能?完整监控告警指南
如何实时监控crawler4j爬虫状态与性能?完整监控告警指南 【免费下载链接】crawler4j Open Source Web Crawler for Java 项目地址: https://gitcode.com/gh_mirrors/cr/crawler4j crawler4j是一款强大的Java开源网络爬虫框架,能够帮助开发者快速构…...
计算机毕业设计:Python水网数据可视化与水位预测系统 Flask框架 数据分析 可视化 大数据 AI 线性回归 河流数据 水位预测(建议收藏)✅
博主介绍:✌全网粉丝50W,前互联网大厂软件研发、集结硕博英豪成立软件开发工作室,专注于计算机相关专业项目实战6年之久,累计开发项目作品上万套。凭借丰富的经验与专业实力,已帮助成千上万的学生顺利毕业,…...
向上生长,智赢未来 | 优美优品2026经销商大会圆满
引言2026年3月18日,一个看似平常的日子。但对优美优品而言,这是值得被标记的一天。全国各地的经销商伙伴跨越山海,奔赴而来。他们不是来参加一场普通的年度会议,而是来寻找一个答案。当房地产下行、消费信心不足、行业加速洗牌&am…...

