使用Ansible处理多阶段(Spring)应用程序属性

时间:2019-09-15 15:20:36

标签: spring spring-boot ansible properties-file configuration-management

我有一个Spring Boot应用程序,我想使用Jenkins / Ansible进行连续部署。

由于我不想在源代码旁边存储特定于环境的属性(默认属性除外),因此这些属性将存储在特定于环境的外部属性文件中(暂存,质量检查,生产)。

例如,对于生产环境/app/configuration/application-production.properties:

app.db.url=production.domain.com:3306/[...]
[...]

有多种处理配置属性的方法,尤其是Spring Cloud Config,由于以下原因而无法使用:

  • 需要一个应用程序/服务器(配置服务器)
  • 与标准Spring Web应用程序(或非Spring)开箱即用不兼容

如何使用Ansible处理这些不同的文件?

是否应将特定于环境的属性放在host_vars目录(staging.ymlqa.ymlproduction.yml)中,以替换jinja2模板文件中的变量?

换句话说,应将特定的应用程序属性(通常存储在application.properties文件或环境变量中)转换为Ansible变量吗?

我应该在Ansible剧本(application-{env}.properties)中存储特定于环境的文件吗?

我的目标是使用版本化的应用程序属性,使用Jenkins / Ansible完全自动化持续部署和配置服务器。

0 个答案:

没有答案