首页 > 其他分享 >kubesphere devops部署springboot项目

kubesphere devops部署springboot项目

时间:2023-07-05 14:34:21浏览次数:39  
标签:8080 springboot demo app jar devops mybatis kubesphere name

一:使用流水线devops部署springboot项目的流程:

 二、本次项目结构:

 其中Dockerfile:

FROM openjdk:8-jdk
LABEL maintainer=leifengyang


#docker run -e PARAMS="--server.port 9090"
ENV PARAMS="--server.port=8080"
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone

COPY target/*.jar /app.jar
EXPOSE 8080

#
ENTRYPOINT ["/bin/sh","-c","java -Dfile.encoding=utf8 -Djava.security.egd=file:/dev/./urandom -jar app.jar ${PARAMS}"]

deploy.yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: demo-mybatis
  name: demo-mybatis
  namespace: terp   #一定要写名称空间
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  selector:
    matchLabels:
      app: demo-mybatis
  strategy:
    rollingUpdate:
      maxSurge: 50%
      maxUnavailable: 50%
    type: RollingUpdate
  template:
    metadata:
      labels:
        app: demo-mybatis
    spec:
      imagePullSecrets:
        - name: aliyuncs-docker-hub  #提前在项目下配置访问阿里云的账号密码
      containers:
        - image: $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:SNAPSHOT-$BUILD_NUMBER
 #         readinessProbe:
 #           httpGet:
 #             path: /actuator/health
 #             port: 8080
 #           timeoutSeconds: 10
 #           failureThreshold: 30
 #           periodSeconds: 5
          imagePullPolicy: Always
          name: app
          ports:
            - containerPort: 8080
              protocol: TCP
          resources:
            limits:
              cpu: 300m
              memory: 600Mi
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      terminationGracePeriodSeconds: 30
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: demo-mybatis
  name: demo-mybatis
  namespace: terp
spec:
  ports:
    - name: http
      port: 8080
      protocol: TCP
      targetPort: 8080
      nodePort: 32607
  selector:
    app: demo-mybatis
  sessionAffinity: None
  type: NodePort

 上面的部署文件中,我们的镜像需要从阿里云镜像仓库拉取,这里拉取的密钥是imagePullSecrets是aliyuncs-docker-hub,因此现在kubeSphere中配置好这个镜像仓库:

 

 



 

标签:8080,springboot,demo,app,jar,devops,mybatis,kubesphere,name
From: https://www.cnblogs.com/yangxiaohui227/p/17528428.html

相关文章

  • 金蝶Apusic 应用服务器9.0版本上,springboot项目关于文件上传的一个问题
    金蝶Apusic应用服务器9.0版本上,springboot项目关于文件上传的一个问题 项目部署在金蝶v9上使用文件上传时,请求接口获取不到参数。但是在本地启动应用是可以获取到参数,没有任何问题。 @RequestMapping("doUpload")publicvoiddoUpload(DocAttaPagepage,@RequestParam(val......
  • Springboot No bean named 'XXXXX' available 问题解决
    一、问题描述近日在工作中遇见了一个bug,后端程序频频报错Nobeannamed'XXXXX'available。对比同类程序文件,没有发现有任何特殊之处。在网上搜索方法基本上就是扫描包配置、注解问题、路径问题等,皆不能解决我的问题。排查问题是发现出现问题的类命名不符合驼峰规范,按照这个......
  • springboot Minio功能实现
    1.导入Minio相关依赖<dependency><groupId>io.minio</groupId><artifactId>minio</artifactId><version>8.4.4</version><exclusions><exclusion><groupId>c......
  • SpringBoot源码初学者(一):SpringBoot功能扩展接口的使用与源码分析
     在长期的源码学习中,我一直没有找到一个讲解SpringBoot源码的文章,适合刚开始阅读源码的新手,包括我之前的写的一些文章,说实话SpringBoot的源码的确不适合新手,跳转多、结构复杂混乱,很容易迷乱其中。长时间的学习当中,也总结出这些文章的部分问题:没有说明用法,直接讲解源码,其实很......
  • 从零搭建SpringBoot3一,手动编写一套属于自己风格的代码生成器一键生成系统
    简介虽然java的代码生成工具有很多,可是很多时候不是自己喜欢的风格,改起来比较困难,所以我准备从零和大家一起搭建一套基于springboot3.0的框架,这次就先搞定一套代码生成功能,后续再不断的完善其它我们使用到的三方库:beelt模版引擎,用于生成代码。官网:http://ibeetl.com......
  • SpringBoot 3.0.x使用SpringDoc
    为什么使用SpringDoc在Springfox3.0停更的两年里,SpringBoot进入3.0时代,SpringFox出现越来越多的问题,最为明显的就是解析器的问题,已经在上文中解释清楚,这里就不再赘述。SpringDoc是Spring官方推荐的API,相信不会轻易停更。如何引入SpringDocSpringDoc有多个版本,如果你使用的......
  • SpringBoot3.0从入门到项目实战:解决Web应用痛点的最新解决方案
    SpringBoot3.0从入门到项目实战:解决Web应用痛点的最新解决方案SpringBoot是当前Java领域中应用最广的框架之一,而随着SpringBoot3.0的发布,它迎来了更加全面和强大的一次升级。本文将深入浅出地介绍SpringBoot3.0的新特性,同时结合实际项目经验,分享Web应用的痛点以及解决方案,帮......
  • Springboot开发no.1
    springboot是一个简化spring初始化和开发spring创建空工程,检查Maven,创建模块springinitializr  使用rest模式:@RestController,@RequestMapping("/books")结果  运行出现问题:第一个问题:java:无法访问org.springframework.web.bind.annotation.GetMa......
  • kubesphere consul搭建与测试
    1.部署不用改变参数,直接安装就行了2.部署情况部署以后,各个模块的数据应用:服务:这里有2个服务:consul-headless/consul-ui,consul-headless是主服务,后面测试会用到工作负载:容器: 3.测试在KubeSphere上搭建的Consul集群,可以使用以下方式测试是否正常工作:3.......
  • rabbitmq在springboot中实战技巧
    一.简介rabbitmq是基于AMQP(AdvancedMessageQueuingProtocol:高级消息队列协议),采用Erlang语言编写的消息队列。二、mq能用来做什么异步处理:将非核心业务(比如日志、邮件、监控等)从主流程剥离,提升主流程的响应时效。削峰:当并发大的情况下,可以将消息暂存在消息队列中,消费者按照......