Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Deployment Jenkins在具有不同配置的多台服务器上的部署_Deployment_Jenkins_Server_Config Files - Fatal编程技术网

Deployment Jenkins在具有不同配置的多台服务器上的部署

Deployment Jenkins在具有不同配置的多台服务器上的部署,deployment,jenkins,server,config-files,Deployment,Jenkins,Server,Config Files,我们正在使用jenkins来构建和部署我们的项目。 目前,我们在一个jenkins作业中构建了一个Spring java应用程序,并在另一个jenkins作业中将其部署到我们的服务器上。构建作业的结果是一个war文件,该文件由maven构建并部署到tomcat 这非常有效,直到我们发现,根据应用程序部署的服务器,应用程序需要不同的配置文件spring applicationContext.xml。配置文件打包在构建作业的war文件中 对于具有两个配置文件的两台服务器,修改构建过程的好方法是什么?

我们正在使用jenkins来构建和部署我们的项目。 目前,我们在一个jenkins作业中构建了一个Spring java应用程序,并在另一个jenkins作业中将其部署到我们的服务器上。构建作业的结果是一个war文件,该文件由maven构建并部署到tomcat

这非常有效,直到我们发现,根据应用程序部署的服务器,应用程序需要不同的配置文件spring applicationContext.xml。配置文件打包在构建作业的war文件中

对于具有两个配置文件的两台服务器,修改构建过程的好方法是什么?有没有一种方法可以避免仅仅因为war文件中需要两个不同的配置文件就有两个版本


谢谢你的帮助

我在部署时提供每个环境的配置文件。
它覆盖了作为.war的一部分存在的任何内容

我谦虚地问您如何在部署时提供配置文件?目前,我选择只拆分动态和静态配置,并将一个静态配置文件复制到本地tomcat的配置类路径中。在我们的例子中,tomcat正在运行,并与maven cargo一起重新部署。当我从Jenkins触发部署作业时,它会从SVN检查作业参数提供的特定于环境的配置,并将其与.war一起推送到远程服务器。在那里,部署bash脚本解压.war,并覆盖顶部提供的配置文件。好的,按脚本和作业参数部署就可以了。谢谢!