达夕博客
  • 首页
  • 软件工具
    • 提高生产力
    • 数字化办公
    • 智能手机
    • 开发工具
  • 技术编程
  • 互联网
  • 关于
  1. 首页
  2. 技术编程
  3. 正文

云原生环境是使用Nocalhost开发调试Spring boot应用

2021年12月22日 3845点热度 0人点赞 0条评论
首先借用Nocalhost的一张图说明云原生环境下的开发模式:
1、IDE中安装Nocalhost插件,支持VsCode 和 idea,版本要求和安装方法,参考官方文档
2、Nocalhost会把在k8s集群中创建一个pod,我们的代码会被同步到容器里,然后再容器里运行程序。
3、由于要创建pod需要指定镜像,Nocalhost默认提供的镜像可能不能满足要求,手动创建了一个jdk8的maven环境镜像。
1
2
3
4
5
6
7
8
9
#依赖镜像名称和ID
FROM 11.111.111.121:30002/library/jdk1.8-alpine:latest
#指定镜像创建者信息
MAINTAINER DAXI
#添加maven
ADD apache-maven-3.6.3-bin.tar.gz /usr/local/maven/
#配置maven环境变量
ENV MAVEN_HOME /usr/local/maven/apache-maven-3.6.3
ENV PATH $MAVEN_HOME/bin:$PATH

4、编辑Nocalhost的Dev Config,进行如下设定,看注释吧:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
name: "my-web"
  serviceType: "deployment"
  containers:
    - name: "my-web"
      hub: null
      dev:
        gitUrl: ""
        # 指定镜像名称
        image: "11.111.111.121:30002/library/nocalhost-dev:latest"
        shell: ""
        workDir: ""
        storageClass: "local"
        resources:
          limits:
            memory: "2048Mi"
            cpu: "2"
          requests:
            memory: "1024Mi"
            cpu: "1"
        persistentVolumeDirs:
                   # 持久化maven仓库,避免每次都要下载依赖
          - path: "/root/.m2"
            capacity: "20Gi"
        command:
          run: []
          debug:
            # 启动命令根据实际情况修改
            - "mvn"
            - "spring-boot:run"
            - "-Dspring-boot.run.profiles=test"
            - "-Dspring-boot.run.jvmArguments=\"-Dlogging.file.path=target/logs"
            - "-Xms512m"
            - "-Xmx2048m"
            - "-Xdebug"
            - "-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005\""
        debug:
          remoteDebugPort: 5005
        # 是否热加载,开启后每次保存文件,应用都会自动重启。可以改为false,修改文件后手动编译后也可以热加载
        hotReload: false
        sync:
          type: "sendReceive"
          mode: "pattern"
          filePattern:
            - "."
          ignoreFilePattern:
            - ".idea"
            - ".git"
        env: []
        # 端口映射,把你指定的一个本地端口映射到Nocalhost容器里的应用端口
        portForward:
          - "57010:7010"

5、使用Nocalhost之前,要先启动开发模式。(就是根据上面的配置,在k8s中把pod创建好)分两种:
  • Start DevMode 会替换掉原来的pod,这种方式会影响到正在对外提供的服务
  • Start DevMode (复制模式),保持原来的POD正常运行,创建一个新的POD供开发使用。该方式下,外部的正常访问不会访问到该POD,相当于每个人都有一个独立的环境。
6、成功进去开发模式后,会自动在DE中打开一个终端,这就是Nocalhost为我们创建好的容器了。顺利的话,你应该能在该容器的/home/nocalhost-dev目录下看到你的源代码。
7、接下来就是运行应用了:
  • Remote Run : 根据之前配置的run命令启动程序
  • Remote Debug : 根据之前配置的devbug命令启动程序
8、访问程序
通过localhost + 上面配置的端口转发即可访问,例如:localhost:57010

官方文档:https://nocalhost.dev/zh-CN/docs/introduction

标签: Nocalhost 云原生
最后更新:2021年12月22日

达夕

保持饥渴的专注,追求最佳的品质

点赞
< 上一篇
下一篇 >

文章评论

取消回复

最新 热点 随机
最新 热点 随机
通过.git文件夹恢复代码仓库 Nginx 如何限流和访问控制(详解) Docker在宿主机上根据进程PID查找归属容器ID 云原生环境是使用Nocalhost开发调试Spring boot应用 全能数据库管理工具DataGrip推荐使用2019.3.5版本 安卓优秀播放器KMPlayer Plus (Divx)_v30.12.251下载 Intellij Idea 2020.3.1无限试用激活补丁 PDF全能解决方案Adobe Acrobat DC 2020 SP 直装特别版
Intellij Idea 2020.3.1无限试用激活补丁安卓优秀播放器KMPlayer Plus (Divx)_v30.12.251下载全能数据库管理工具Navicat 15 旗舰版x64位安装激活IntelliJ IDEA 开发助手插件DevHelper 1.0.2版本发布全能数据库管理工具DataGrip推荐使用2019.3.5版本v2ray启动报code=exited, status=218/CAPABILITIES错误的解决方法Nginx 如何限流和访问控制(详解)PDF全能解决方案Adobe Acrobat DC 2020 SP 直装特别版
每个电脑工作者都应该准备个趁手的文本编辑器 让Google Drive和Dropbox同步同一个文件夹 超簡單免費無限流量 VPN! Opera 40 開啟內建翻牆功能教學|电脑玩物 Jenkins Pipeline中无法通过Shell脚本启动后台应用的问题 看板方法系列4:管理流动原则 【推荐】七牛云注册有好礼了,千元大礼包送给你 通用的Java RSA加密工具类,可在线验证通过 精选七款国内外著名的在线作图工具
标签聚合
Evernote Windows 10 iPhone 印象笔记 激活 Google Drive IntelliJ Idea Google Chrome Dropbox 敏捷开发
推荐文章

COPYRIGHT © 2020 达夕博客. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS