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

spring cloud开发、部署注意事项

一、开发时,配置服务的配置使用本地路径,不使用svn和git,因为后者每个开发人员都会修改配置,导致别人也拿到其他人修改的配置,本地配置示例如下:

spring:
  application:
    name: simple-config-server
  cloud:
    config:
      server:      
        default-label: trunk 
        native:
          searchLocations: file:///D:\works\smart\simple-config-repo                 
  profiles:
    active: native
复制代码

二、对于生产环境部署到阿里云的,使用不了docker,因为docker文件通常有几百兆,部署时上传很慢。不但不能使用docker,打包时也没有必要包含所有的包,如果去掉依赖包,编译完后每个jar只有几百k,这样部署起来就方便多了。可以如下设置pom编译选项:

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <mainClass>ebtins.smart.proxy.SmartProxyApplication</mainClass>
                            <classpathPrefix>lib/</classpathPrefix>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
        <defaultGoal>compile</defaultGoal>
    </build>
复制代码

这样你生产环境的服务目录将如下,simple-service.jar只有几百K。

simple-service.jar simple-service.sh lib logs

三、使用脚本启动和关闭服务,centos下的脚本启动和关闭可以如下:

start(){ 
 now=`date "+%Y%m%d%H%M%S"` 
 exec
 java -Xms64m -Xmx256m -jar ./simple-service-0.0.1.jar --server.port=7085 --config.name=pro > logs/simple-service.log &
} 
#停止方法 
stop(){ 
 ps aux|grep simple-service|grep 7085|grep -v grep|awk '{print $2}'|while read pid 
 do 
    kill -9 $pid
 done
} 
   
case "$1" in 
start) 
start 
;; 
stop) 
stop 
;;   
restart) 
stop 
start 
;; 
*) 
printf 'Usage: %s {start|stop|restart}\n' "$testg" 
exit 1 
;; 
esac
复制代码

启动方式:sh simple-service.jar start 当然可以在脚本里启动本服务器所有服务,也可以使用自动部署机制,自动部署自动启动。 这是生产和开发环境的一点小小经验。 更多详细源码参考来源:minglisoft.cn/honghu/tech…

转载于:https://juejin.im/post/5b9610ed6fb9a05cfd27b809

相关文章:

  • Zabbix 的 MySQL 监控客户端配置
  • CentOS7下yum安装Jenkins
  • 一点一点看JDK源码(三)java.util.ArrayList 前偏
  • JQuery中使用Ajax无法赋值给全局变量的解决方案
  • 使用mvn生成webapp失败,尚未找到原因
  • Repository updates is listed more than once in the configuration问题的解决方法
  • MATLAB函数flow
  • [Python3网络爬虫开发实战] 5.3-非关系型数据库存储
  • power shell测试wmi
  • 微信携手第三方再造新平台 - 公众号第三方平台介绍
  • 这次偶遇宁可不要,也要把秘诀送给你们
  • 信息安全领域内的风险损失价值估算
  • CodingGit专题
  • [Redis]Redis高级特性的配置及使用
  • spring 单机和集群配置mqzookeeperredis
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • interface和setter,getter
  • Js基础知识(四) - js运行原理与机制
  • JS题目及答案整理
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • Python 基础起步 (十) 什么叫函数?
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • spark本地环境的搭建到运行第一个spark程序
  • 初识 beanstalkd
  • 从零开始学习部署
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 深入浅出webpack学习(1)--核心概念
  • 双管齐下,VMware的容器新战略
  • 通过几道题目学习二叉搜索树
  • ionic异常记录
  • 仓管云——企业云erp功能有哪些?
  • ​低代码平台的核心价值与优势
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • #if和#ifdef区别
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • (二)pulsar安装在独立的docker中,python测试
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (规划)24届春招和25届暑假实习路线准备规划
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (数据结构)顺序表的定义
  • .java 9 找不到符号_java找不到符号
  • .net core 6 redis操作类
  • .NET Framework Client Profile - a Subset of the .NET Framework Redistribution
  • .Net Redis的秒杀Dome和异步执行
  • .net 打包工具_pyinstaller打包的exe太大?你需要站在巨人的肩膀上-VC++才是王道
  • .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)
  • .NET 中使用 Mutex 进行跨越进程边界的同步
  • .NET连接MongoDB数据库实例教程
  • .net通用权限框架B/S (三)--MODEL层(2)
  • .net之微信企业号开发(一) 所使用的环境与工具以及准备工作
  • .Net中的设计模式——Factory Method模式
  • @font-face 用字体画图标