我有一个Spring Boot应用程序,我想使用Jenkins / Ansible进行连续部署。
由于我不想在源代码旁边存储特定于环境的属性(默认属性除外),因此这些属性将存储在特定于环境的外部属性文件中(暂存,质量检查,生产)。
例如,对于生产环境/app/configuration/application-production.properties:
app.db.url=production.domain.com:3306/[...]
[...]
有多种处理配置属性的方法,尤其是Spring Cloud Config,由于以下原因而无法使用:
如何使用Ansible处理这些不同的文件?
是否应将特定于环境的属性放在host_vars
目录(staging.yml
,qa.yml
,production.yml
)中,以替换jinja2
模板文件中的变量?
换句话说,应将特定的应用程序属性(通常存储在application.properties文件或环境变量中)转换为Ansible变量吗?
我应该在Ansible剧本(application-{env}.properties
)中存储特定于环境的文件吗?
我的目标是使用版本化的应用程序属性,使用Jenkins / Ansible完全自动化持续部署和配置服务器。