不同环境(配置文件)下的项目发布
来源:互联网 发布:jackson list转json 编辑:程序博客网 时间:2024/06/05 10:49
不同环境(配置文件)下的项目发布
一、 摘要
前段时间写了两篇关于maven自动部署的文章,其基本步骤分两步,一是打包,二是发布。其中,打包时通过某种方案,使代码中的配置文件对应将要发布的环境。发布则只是将项目代码上传至对应环境的服务器下。不管何种方案,都需要进行相应的配置,过程中若出现莫名的报错,很容易陷入困境。因而,从另一种角度思考并解决问题,只要能达到目标,简单清晰的解决方法,也是可以接受的。
二、 环境
开发: Win10 Eclipse
运行:WinServer 2008
三、 解决思路
在项目WEB-INF文件下创建一个配置文件夹,将不同环境的配置文件分别存放,并创建相应的脚本,用于将当前文件夹内的配置文件替换掉项目中,打包发布到项目后,解压war包(可手动可写脚本执行),执行对应环境的脚本即可。
四、 替换脚本
@echo off
title=初始化配置文件
rem 设置配置文件个数(包括config.bat)
set CONFIGS=5
setlocal enabledelayedexpansion
for /r . %%a in (*.*) do (
set /a s+=1
)
if %s% NEQ %CONFIGS% goto error
rem 初始化配置文件路径
set CONFIG=%cd%
echo 当前环境配置文件路径为:
echo %CONFIG%
choice /c YN /m 是否开始替换?
if errorlevel 2 goto end
rem 初始化配置文件源路径和目标路径
rem 获取项目根路径
cd ..\..\..\..
set ROOT=%cd%
rem 获取classes相关配置文件源路径和目标路径
set CLASSESSOU=%CONFIG%\classes
set CLASSESTAR=%ROOT%\WEB-INF\classes
rem 获取web-inf相关配置文件源路径和目标路径
set WEBINFSOU=%CONFIG%\web-inf
set WEBINFTAR=%ROOT%\WEB-INF
rem 获取home相关配置文件源路径和目标路径
set HOMESOU=%CONFIG%\home
set HOMETAR=%ROOT%\static\core\page\home
rem 开始替换
copy %CLASSESSOU% %CLASSESTAR%
copy %WEBINFSOU% %WEBINFTAR%
copy %HOMESOU% %HOMETAR%
echo 替换成功
rem 删除所有配置脚本
choice /c YN /m 是否删除所有配置脚本?
if errorlevel 2 goto end
cd %ROOT%\WEB-INF\RELEASE\config
rd %cd% /s /q
goto end
:error
echo 配置文件缺失,请核对后再执行!
:end
echo.
echo 按任意键退出...
pause > nul & exit
五、 其他
1、 解压war可以使用WinRAR工具,只需要在其设置中关联war格式的文件即可右键解压。
2、 此脚本是windows环境下的批处理脚本,在linux下需要写shell脚本,脚本逻辑比较简单,在此就不再给出。
3、 此脚本中首先对将要替换的配置文件进行数量统计校验,防止脚本丢失引起的替换不完全,然后进行相应文件的目录结构设置,最后是替换执行,完成后可以选择是否删除这些用于替换的各种配置文件,以防止误操作;
4、 目录结构示例:
5、 才疏学浅,不足之处,望乞指教。
- 不同环境(配置文件)下的项目发布
- maven项目用filter管理不同环境的配置文件
- maven发布时在不同的环境使用不同的配置文件
- 使用T4模板生成不同部署环境下的配置文件
- IntelliJ IDEA中的Maven项目下的配置文件发布问题
- Jenkins+Extended Choice Parameter+Shell脚本+Gradle构建不同环境下的发布版本(测试环境,生产环境等等)
- Maven 利用Profile属性配置,生成不同环境(生产、测试)下的发布包
- maven 的profile 、resource标签应用。不同的环境下编译导入不同配置文件
- 里面maven时间不同环境下加载不同的配置文件2
- Linux环境下发布项目
- 如何发布自己的网站(不同网络环境下发布自已的网站方案)
- web项目发布至tomcat的ROOT下方法(开发环境和部署环境)
- web项目发布至tomcat的ROOT下方法(开发环境和部署环境)
- web项目发布至tomcat的ROOT下方法(开发环境和部署环境)
- maven打包不同profile下的配置文件(不同目录下多个配置文件)
- ubuntu下java web项目的环境配置和发布
- Linux下的环境部署和项目发布
- Linux下的环境部署和项目发布
- 基于openwrt系统的小米路由器创建自启动脚本
- Java HashMap Learning
- SparkSQL read Elasticsearch ClassNotFoundException
- Hadoop备忘:Reduce阶段Iterable<VALUEIN> values中的每个值都共享一个对象
- 你真的会使用XMLHttpRequest吗?
- 不同环境(配置文件)下的项目发布
- python操作redis
- 序列化和Stack应用于UGUI(Unity 扩展)(瞎稿)
- sublime Text3安装到破解详解
- 一定要记住的任务
- Openstack使用官方ubuntu和Centos镜像
- 分析算法的时间复杂度
- maven 常用命令
- 文章标题