2017-04-20 4 views
-2

와 값을있는 application.properties.업데이트 ansibile 스크립트를 배포하는 동안 봄의 application.properties에 값을 업데이트하는 방법 ansbile

나는 ansible의 lineinfile 모듈을 사용하고 정규식으로 값을 대체 할 수 있습니다. 하지만 더 나은 솔루션을 찾고 있습니다.

편집 : Ansible의 신사 템플릿을 사용하여 다른 솔루션입니다. 그러나 이것으로 봄의 application.properties에있는 무언가가있을 때마다 템플릿에 추가해야합니다. 그러나 나는 그것이 한 곳에 있기를 바란다.

답변

0

이에 대한 Jinja Templating 모듈 template을 사용해야합니다. {{}}에서

logging.level.root={{logging_level_root}} 
endpoints.enabled={{endpoints_enabled}} 

값은 일반적으로 각 환경에 대한 인벤토리 파일에 저장되는 변수에서 해결됩니다 : 당신은 모양을 템플릿 .j2 파일을 만들어야합니다. lineinfile은 다른 상황에서 유용합니다. 일반적으로 파일의 줄 바꾸기. 나는 봄 파일에 application.properties에 무언가를 추가 할 때마다

+0

, 나는 또한 신사 템플릿에 추가해야합니다. 그러나 나는 그것이 한 곳에 있기를 바란다. –

+0

당신은 한 곳에서 당신의 재산이'application.properties' 파일을 생성하고 ansible 복사 모듈을 사용합니다. – reynev

+0

죄송합니다. 이전에 언급하지 않으 셨습니다. 로컬 개발 환경에서는 배포를 사용하지 않습니다. 스프링 파일에는 application.properties가 있어야합니다. 가능한 배포 중에 정규식 일치를 사용하고 바꿀 수있는 옵션이 남아 있습니다. –