当前位置:网站首页>Micro service remote debug, nocalhost + rainbow micro service development second bullet

Micro service remote debug, nocalhost + rainbow micro service development second bullet

2022-07-07 20:16:00 Rainbow open source

In the previous article, we introduced how to pass Nocalhost Rapid development of Rainbond Microservices on , Introduced the basic development process .

This article will continue to introduce , Use Nocalhost Development profile Achieve the following :

  • Onekey Run and long-range Debug
  • Persistent configuration
  • Development container resource limitations
  • Port forwarding

What is development configuration ?

Development configuration is around Development mode To carry out , For example, what image is used to enter Development mode , Whether you need to turn on persistence to save the contents of the development container , Which files are synchronized into the development container , How to debug with one click 、 Run the services in the container with one click . After configuring the correct and appropriate development configuration , Can be used in Nocalhost Development mode It's more handy when it comes to .

Deploy Rainbond + SpringCloud

Next, continue to the above article SpringCloud Pig For example , debugging Java Maven Service Pig-auth modular .

project Gitee Address :https://gitee.com/zhangbigqi/pig

Deploy Rainbond

I won't go into details here Rainbond Installation , see also be based on Linux install Rainbond.

Deploy SpringCloud

We are Rainbond After docking with the open source app store , Search in the open source app store Spring Cloud Pig install 3.5.0 edition .

The English name of the application component installed from the app store is an automatically generated string , We need to set the English name of the component (Deployment Name), adopt Nocalhost When connecting to the cluster, you can distinguish clearly Deployment Corresponding components .

Nocalhost docking Rainbond

  1. install Nocalhost JetBrains Plugin plug-in unit , See documentation install Nocalhost JetBrains Plugin plug-in unit .
  2. obtain K8s Kubeconfig, See documentation obtain Kubeconfig file .
  3. stay pig Under the namespace , Find the workload pig-auth Right click and choose Dev Config ( Development configuration )
  1. Copy the following configuration file to Dev Config in .
# Deployment Name
name: pig-auth
serviceType: deployment
containers:
	# Deployment  Main container name 
  - name: auth
    dev:
    	#  Developing mirroring , The image contains  Java Maven  Environmental Science 
      image: registry.cn-hangzhou.aliyuncs.com/zqqq/maven:3.8.6-openjdk-8
      #  The default terminal is  bash
      shell: bash
      # Rainbond  Provided  StorageClass Name
      storageClass: rainbondvolumerwx
      #  Configure development container resources 
      resources:
        limits:
          memory: 4096Mi
          cpu: "2"
        requests:
          memory: 2048Mi
          cpu: "1"
      persistentVolumeDirs:
      	# Maven  Depend on the package cache path , coordination  storageClass  Eat together 
        - path: /root/.m2/repository
          capacity: 10Gi
      command:
        #  One click start command , Install dependent packages and start  pig-auth  Sub module 
        run:
          - mvn
          - install
          - '&&'
          - mvn
          - spring-boot:run
          - -pl
          #  Specify sub module startup 
          - pig-auth
        #  Onekey  Debug  command , Install dependent packages and  Debug pig-auth  Sub module 
        debug:
          - mvn
          - install
          - '&&'
          - mvn
          - spring-boot:run
          - -pl
          #  Specify sub module startup 
          - pig-auth
          # Java Debug  command 
          - -Dspring-boot.run.jvmArguments=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005
      debug:
        #  Remote port , Corresponding Debug In the command  address=5005
        remoteDebugPort: 5005
        #  choice  Java  Language 
        language: java
      #  Thermal loading 
      hotReload: true
      #  File synchronization 
      sync:
        type: send
        mode: gitIgnore
        deleteProtection: true
      #  Port forwarding , Forward... In the container 3000 Port to local 3999
      portForward:
        - 3999:3000

Onekey Run

  1. Right click workload pig-auth .
  2. choice Remote Run.
  3. Nocalhost Will automatically enter DevMode And implement Remote Run.

Onekey Debug

  1. Right click workload pig-auth .
  2. choice Remote Debug.
  3. Nocalhost Will automatically enter DevMode And implement Remote Debug.
  4. Put a breakpoint in the code , Initiate request , Get into IDE Debug Pattern .

Persistent configuration

At development time , Most of the files we want to persist are Dependency package journal , This article also caches Java The dependency package of .

rainbondvolumerwx yes Rainbond The storage class provided by default , After filling in the following configuration, it will be automatically created under the current namespace PVC, as follows :

storageClass: rainbondvolumerwx					
persistentVolumeDirs:
  - path: /root/.m2/repository
    capacity: 10Gi

Container resource limit

Limit the resources of the development container , Quota can maximize the resource utilization of the server , You can modify it through the following development configuration :

resources:
  limits:
    memory: 4096Mi
    cpu: "2"
  requests:
    memory: 2048Mi
    cpu: "1"

Port forwarding

Forward container port to local , You can modify it through the following development configuration :

portForward:
  - 3999:3000 		#  Forwarding container  3000  Port to local  3999  port 

Last

Of course Nocalhost You can debug multiple microservices at the same time , In the same way, you only need to modify Deployment Name and Containers Name And the sub module of microservice .

Nocalhost There are also some things that are not mentioned in the development configuration article , such as : Development environment variables 、 Two modes of file synchronization patterngitignore wait , also Nocalhost Support for multiple languages ,Java It's just one of them , Guys can explore on their own .

Nocalhost + Rainbond Let's develop 、 More efficient deployment 、 convenient .

原网站

版权声明
本文为[Rainbow open source]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/188/202207071810285835.html