多环境_部署项目

多环境:

指同一套项目代码在不同的阶段需要根据实际情况来调整配置并且部署到不同的机器上。

为什么需要?

1. 每个环境互不影响
2. 区分不同的阶段:开发 / 测试 / 生产
3. 对项目进行优化:
   1. 本地日志级别
   2. 精简依赖,节省项目体积
   3. 项目的环境 / 参数可以调整,比如 JVM 参数

针对不同环境做不同的事情。

多环境分类:

1. 本地环境(自己的电脑)localhost
2. 开发环境(远程开发)大家连同一台机器,为了大家开发方便
3. 测试环境(测试)开发 / 测试 / 产品,单元测试 / 性能测试 / 功能测试 / 系统集成测试,独立的数据库、独立的服务器
4. 预发布环境(体验服):和正式环境一致,正式数据库,更严谨,查出更多问题
5. 正式环境(线上,公开对外访问的项目):尽量不要改动,保证上线前的代码是 “完美” 运行
6. 沙箱环境(实验环境):为了做实验

前端多环境实战

请求地址

  开发环境:localhost:8000

  线上环境:user-backend.code-nav.cn

startFront(env) {
      if(env === 'prod') {
          // 不输出注释 
          // 项目优化
          // 修改请求地址
      } else {
          // 保持本地开发逻辑
      }
  }


  用了 umi 框架,build 时会自动传入 NODE_ENV == production 参数,start NODE_ENV 参数为 development

打包之后会自动生成静态的网页文件

启动方式

  开发环境:npm run start(本地启动,监听端口、自动更新)
  线上环境:npm run build(项目构建打包),可以使用 serve 工具启动(npm i -g serve)

项目的配置

  不同的项目(框架)都有不同的配置文件,umi 的配置文件是 config,可以在配置文件后添加对应的环境名称后缀来区分开发环境和生产环境。参考文档:https://umijs.org/zh-CN/docs/deployment

  开发环境:config.dev.ts
  生产环境:config.prod.ts
  公共配置:config.ts 不带后缀

后端项目区分环境:

指定使用的环境:

spring:
  profiles:
    active: dev

在配置文件后加-prod 

 
可以在启动项目时传入环境变量:

java -jar .\user-center-backend-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod

提示:在连接线上数据库时可能报错:

javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)

The following required algorithms might be disabled: SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, include jdk.disabled.namedCurves. Edit the list of disabled algorithms to include required algorithms. You can try to enable TLSv1 or TLSv1.1 first.

JDBC driver may have disabled TLS > 1.1.

解决办法:

在URL中添加在数据库后面添加?createDatabaseIfNotExist=true&useSSL=false

如:jdbc:mysql://192.168.2.2:3306/test?createDatabaseIfNotExist=true&useSSL=false

打包好后运行线上jar包

cd .\target\
java -jar .\user-center-backend-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CICD(持续集成和持续部署)是一种软件开发实践,它通过自动化的流程将代码从开发环境快速、可靠地部署到多个不同的环境中。多环境部署是指将应用程序部署到不同的环境(如开发、测试、生产等)中,以确保应用程序在不同环境中的稳定性和可靠性。 在CICD中,通常使用版本控制系统(如Git)来管理代码,并使用自动化构建工具(如Jenkins、Travis CI等)来构建和测试应用程序。在多环境部署中,可以创建多个环境,每个环境都有独立的配置和资源。当代码通过测试后,可以自动将代码部署到不同的环境中,以进行更广泛的测试和验证。 多环境部署的好处包括: 1. 隔离环境:每个环境都有独立的配置和资源,使得开发、测试和生产环境相互隔离,避免互相干扰。 2. 错误排查:通过在不同环境中进行部署和测试,可以更容易地发现和解决问题。 3. 提高可靠性:在不同环境中测试和验证应用程序,可以提前发现潜在的问题,并确保应用程序在生产环境中的稳定性和可靠性。 4. 灵活性:可以根据需要创建和销毁不同环境,以满足不同团队和项目的需求。 要实现多环境部署,可以使用一些工具和技术,如容器化(如Docker)、配置管理工具(如Ansible、Puppet)和云平台(如AWS、Azure)。通过将这些工具和技术与CICD流程结合使用,可以实现自动化的多环境部署

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值