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控制的范围,纯粹是一个应用程序问题。