我目前正在Jenkins管道上进行POC,以弄清楚如何在CI环境中配置我的产品。管道的要求是:
我目前难以达到上述第4点。每个程序的所有与DB相关的配置都驻留在database.xml文件中,并且一个程序可以连接到1个或多个DB。
鉴于开发人员可以自由签入任何数据库配置,我仍然希望我的CI环境指向要测试的预定义数据库。我不确定如何动态更改这些配置文件以实现此目的。
请让我知道其他人是否也使用了相同的标准方法来达到相同的效果。
TIA
一些方法:
使用一些网络平台,例如:
使用这种方法,当需要更改配置时,您只需要更新系统中的值并重新启动应用程序即可。甚至有可能在Java应用程序中进行热重装。
您可以在启动应用程序之前将key:value属性导出为环境变量:
export DATABASE_HOST=10.100.200.300 export LOG_DIR_LOCATION=/logs
在应用程序启动后阅读:
Java >> System.getEnv("DATABASE_HOST"); node.js >> process.evn.LOG_DIR_LOCATION php >> getenv('DATABASE_HOST')
修改您的应用程序以从某些数据库而不是xml文件读取配置
修改您的应用程序以读取一个外部database.xml而不是源代码内部的database.xml。使用这种方法,您只需要将database.xml放在服务器的某个路径中,然后将其从应用程序源代码中删除。