Tomcat数据源与Docker和Jenkins的属性
试图找出在configuration了docker的Tomcat容器内configurationJNDI查找的最佳方法。
到目前为止,我已经想出了:
在目标服务器上安全地存储context.xml文件,然后在Dockerfile中引用它们
与此有关的问题:
- 消除可移植性
这违反了docker工的目的,因为它消除了docker工站在旁边的“configuration一次,部署在任何地方”的思想。 每个开发人员都需要在其机器上本地存储的context.xml以使其工作
添加一个构build步骤来将jenkins维护的凭证回显给一个文件,然后将其与通过属性(不使用JNDI查找)由应用程序加载的docker-compose env.file绑定。
- 这是一个稍微好一点的解决scheme,可以在Jenkins和开发人员级别维护。 开发人员只需确保自己更新属性,或者在本地提供属性。
外部主机凭据
使用类似zookeeper或redis的东西来提供运行时键值来查找数据库凭证。
不知道目前的标准是什么,网上的资源似乎遍布全球。
谢谢!
所以解决这个问题的办法是使用一个外部configuration源,如zookeeper或者Archaius。
这超出了Docker和Jenkins控制的范围,纯粹是一个应用程序问题。