当前位置: 首页 > news >正文

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自动化配置部署

在新建工程中&#xff0c;使用k8s的devops服务&#xff0c;自动化部署项目 1、在搭建好k8s的集群中&#xff0c;确认已开启devops服务&#xff1b; 2、新建Maven项目之后&#xff0c;创建dockerfile、deploy和Jenkins文件 例如&#xff1a; Dockerfile FROM bairong.k8s.m…...

2024年奥莱利科技趋势报告解析

2024年O’Reilly技术趋势报告解读 概述 在快速发展的技术领域&#xff0c;跟上最新趋势对行业内的任何人来说都至关重要。2024年O’Reilly技术趋势报告在此方面提供了关键的指导&#xff0c;全面概述了最重要的技术进步和模式。该年度报告基于O’Reilly著名在线学习平台280万…...

算法打卡Day14

今日任务&#xff1a; 1&#xff09;104.二叉树的最大深度 2&#xff09;559.n叉树的最大深度 3&#xff09;111.二叉树的最小深度 4&#xff09;222.完全二叉树的节点个数 104.二叉树的最大深度 题目链接&#xff1a;104. 二叉树的最大深度 - 力扣&#xff08;LeetCode&#…...

Android Kotlin版封装EventBus

文章目录 Android Kotlin版封装EventBus代码封装添加依赖库定义消息类定义常量值定义注解定义工具类 使用在Activity中在Fragment中发送事件 源码下载 Android Kotlin版封装EventBus 代码封装 添加依赖库 implementation("org.greenrobot:eventbus:3.3.1")定义消息…...

VUE父子组件的传参问题

1.父组件向子组件传参 1&#xff09;这是一个父组件 //这是一个父组件 <div> <port :port-List"portList" ></port> </div> //port 这是子组件的名称export default{components: {},props: {},data() {return{portList:,}},computed: {}…...

四、C#希尔排序算法

简介 希尔排序简单的来说就是一种改进的插入排序算法&#xff0c;它通过将待排序的元素分成若干个子序列&#xff0c;然后对每个子序列进行插入排序&#xff0c;最终逐步缩小子序列的间隔&#xff0c;直到整个序列变得有序。希尔排序的主要思想是通过插入排序的优势&#xff0…...

华为认证网络工程师的市场需求大吗?

华为认证网络工程师的市场需求非常旺盛&#xff0c;这主要得益于信息技术的快速发展和网络建设的不断扩展。随着云计算、大数据、物联网等新兴技术的普及&#xff0c;企业对于数据通信和网络技术的需求日益增长&#xff0c;为网络工程师提供了广阔的就业空间。 从行业发展趋势来…...

Pytorch:nn.Upsample() 和nn.ConvTranspose2d()

nn.Upsample 原理 nn.Upsample 是一个在PyTorch中进行上采样&#xff08;增加数据维度&#xff09;的层&#xff0c;其通过指定的方法&#xff08;如nearest邻近插值或linear、bilinear、trilinear线性插值等&#xff09;来增大tensor的尺寸。这个层可以在二维或三维数据上按…...

百度交易中台之系统对账篇

作者 | 天空 导读 introduction 百度交易中台作为集团移动生态战略的基础设施&#xff0c;面向收银交易与清分结算场景&#xff0c;赋能业务、提供高效交易生态搭建。目前支持百度体系内多个产品线&#xff0c;主要包括&#xff1a;度小店、小程序、地图打车、文心一言等。本文…...

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在日常办公中大量使用&#xff0c;我们工作中常常会面对高频次或者大量数据的情况。使用python语言可以更加便捷的处理excel。 python与vba的比较 python语法更加简洁&#xff0c;相较于vba冗长复杂的语法&#xff0c;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配置类——&#xff08;非常重要&#xff09;&#xff08;1&#xff09;创建交换器方法&#xff08;2&#xff09;创建队列方法&#xff08;3&#xff09;绑定…...

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 中是一个非常常用且强大的数据结构&#xff0c;它允许你存储键值对(key-value pairs)&#xff0c;并且能够快速地基于键检索值。 下面是使用 HashMap 的一些基本示例&#xff1a; 首先&#xff0c;你需要在你的文件中引入 HashMap&#xff1a; use std::col…...

【目标检测基础篇】目标检测评价指标:mAP计算的超详细举例分析以及coco数据集标准详解(AP/AP50/APsmall.....))

学习视频&#xff1a; 霹雳吧啦Wz-目标检测mAP计算以及coco评价标准 【目标检测】指标介绍&#xff1a;mAP 1 TP/FP/FN TP(True Positive) : IoU>0.5的检测框数量(同一Ground truth只计算一次)FP(False Positive) : IoU<0.5的检测框(或者是检测到同一个GT的多余检测框的…...

服务器与普通电脑的区别,普通电脑是否可以作为服务器使用

服务器在我们日常应用中非常常见&#xff0c;手机APP、手机游戏、PC游戏、小程序、网站等等都需要部署在服务器上&#xff0c;为我们提供各种计算、应用服务。服务器也是计算机的一种&#xff0c;虽然内部结构相差不大&#xff0c;但是服务器的运行速度更快、负载更高、成本更高…...

长安链Docker Java智能合约引擎的架构、应用与规划

#功能发布 长安链3.0正式版发布了多个重点功能&#xff0c;包括共识算法切换、支持java智能合约引擎、支持后量子密码、web3生态兼容等。我们接下来为大家详细介绍新功能的设计、应用与规划。 在《2022年度长安链开源社区开发者调研报告》中&#xff0c;对Java合约语言支持是开…...

STM32 ESP8266模块的曲折探索

这是本文的配套资料&#xff0c;最终工程请参考 新_ESP8266资料\stm32f103成功移植的项目 【免费】stm32f103c8t6esp8266资料资源-CSDN文库 一、等到了ready 产品参数 我使用的是ai-thinker的esp8266-01s&#xff0c;以下为产品规格书 引脚定义&#xff1a; 依据引脚定义&…...

letcode::根据二叉树创建字符串

根据二叉树创建字符串 题目描述&#xff1a; 给你二叉树的根节点 root &#xff0c;请你采用前序遍历的方式&#xff0c;将二叉树转化为一个由括号和整数组成的字符串&#xff0c;返回构造出的字符串。 空节点使用一对空括号对 “()” 表示&#xff0c;转化后需要省略所有不影…...

嵌入式文件传输协议选型与优化实践

1. 嵌入式文件传输协议概述在嵌入式系统开发中&#xff0c;文件传输是设备间数据交换的基础功能。不同于PC环境&#xff0c;嵌入式设备往往受限于资源&#xff08;内存、CPU、存储&#xff09;和网络条件&#xff08;带宽、稳定性&#xff09;&#xff0c;需要专门优化的传输方…...

好用有省钱的电脑多开神奇工具

今天&#xff0c;我们要介绍的是一款专为电脑用户设计的神奇软件——Safeboxie多开器。这款软件打破了传统限制&#xff0c;无论是游戏还是其他应用程序&#xff0c;都能轻松实现多开。你是否曾为在电脑上无法同时运行多个游戏或软件而烦恼&#xff1f;Safeboxie多开器将完美解…...

2025最权威的六大降AI率平台实际效果

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在学术写作这块领域当中&#xff0c;AI论文工具正一步步地变成研究者的得力助手&#xff0c;…...

和AI一起搞事情#:边剥龙虾边做个中医技能来起号酌

1. 核心概念 在 Antigravity 中&#xff0c;技能系统分为两层&#xff1a; Skills (全局库)&#xff1a;实际的代码、脚本和指南&#xff0c;存储在系统级目录&#xff08;如 ~/.gemini/antigravity/skills&#xff09;。它们是“能力”的本体。 Workflows (项目级)&#xff1a…...

Token热潮下的低价骗局:数据安全谁来守护?

Token火爆背后&#xff1a;低价商品的疯狂蔓延2026年&#xff0c;Token成为科技圈热词&#xff0c;截至3月&#xff0c;我国日均词元调用量超140万亿&#xff0c;较2024年初增长1000多倍。‘龙虾’的火爆让Token走进大众视野&#xff0c;电商平台上低价Token商品随处可见&#…...

20个核心AI概念拆解:小白也能轻松入门大模型,收藏这份学习秘籍!

本文以通俗易懂的方式&#xff0c;拆解了20个AI领域的核心概念&#xff0c;涵盖神经网络、迁移学习、Transformer架构、大语言模型等。通过比喻和实例&#xff0c;帮助读者理解AI底层逻辑&#xff0c;消除学习AI的障碍。文章强调AI并非高不可攀&#xff0c;只要掌握基本原理&am…...

大模型之Linux服务器部署大模型头

一、各自优势和对比 这是检索出来的数据&#xff0c;据说是根据第三方评测与企业数据&#xff0c;三款产品在代码生成质量上各有侧重&#xff1a; 产品 语言优势 场景亮点 核心差异 百度 Comate C核心代码质量第一&#xff1b;Python首生成率达92.3% SQL生成准确率提升35%&…...

如何实时监控crawler4j爬虫状态与性能?完整监控告警指南

如何实时监控crawler4j爬虫状态与性能&#xff1f;完整监控告警指南 【免费下载链接】crawler4j Open Source Web Crawler for Java 项目地址: https://gitcode.com/gh_mirrors/cr/crawler4j crawler4j是一款强大的Java开源网络爬虫框架&#xff0c;能够帮助开发者快速构…...

计算机毕业设计:Python水网数据可视化与水位预测系统 Flask框架 数据分析 可视化 大数据 AI 线性回归 河流数据 水位预测(建议收藏)✅

博主介绍&#xff1a;✌全网粉丝50W&#xff0c;前互联网大厂软件研发、集结硕博英豪成立软件开发工作室&#xff0c;专注于计算机相关专业项目实战6年之久&#xff0c;累计开发项目作品上万套。凭借丰富的经验与专业实力&#xff0c;已帮助成千上万的学生顺利毕业&#xff0c;…...

向上生长,智赢未来 | 优美优品2026经销商大会圆满

引言2026年3月18日&#xff0c;一个看似平常的日子。但对优美优品而言&#xff0c;这是值得被标记的一天。全国各地的经销商伙伴跨越山海&#xff0c;奔赴而来。他们不是来参加一场普通的年度会议&#xff0c;而是来寻找一个答案。当房地产下行、消费信心不足、行业加速洗牌&am…...