我目前正在构建Java Web应用程序(使用netbeans)。 我使用Jenkins使用以下管道(针对Jenkins)创建发行版本:
构建->测试->部署(到远程测试Web服务器)
构建和测试都可以,但是我对部署作业有疑问。 部署作业当前正在使用我先前生成的.war文件,并将其简单地传输到远程Web服务器(带有“部署到容器”插件)。 但我想先更改Web应用程序的数据库参数! (以便使用另一个远程测试数据库)。 我很乐意使用shell命令修改Java文件,但我不能这样做,因为我的.war仅由已编译的.class Java组成。
那么在将它部署到远程Web服务器之前,如何在.war文件中更改某些Web应用程序Java代码(用于数据库凭据)?
答案 0 :(得分:0)
如果您有多个具有不同数据库的环境,则处理此问题的最佳方法是使用带有命令行参数的应用程序。您可以修改Java应用程序以读取命令行参数,然后在应用程序中使用这些参数。
例如--dburl = <database url> --dbusername= <db username>
另一种方法是从环境变量中获取这些参数。并在要部署应用程序的系统中定义这些变量。