我目前正在Jenkins管道上进行POC,以了解如何在CI环境中配置我的产品。管道的要求是:
我目前难以实现上述第4点。所有与DB相关的配置都驻留在每个程序的database.xml文件中,程序可以连接到一个或多个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放在服务器的某个路径中,并从应用程序源代码中删除它。
您不仅可以将这些方法用于后端应用程序。您可以将它们用于前端应用程序: