如何在使用ansibile脚本部署时更新spring的application.properties中的值。
我可以使用ansible的lineinfile模块并用regex替换值。但我正在寻找更好的解决方案。
编辑:使用Ansible jinja模板是另一种解决方案。但是每当我在spring的application.properties中有什么东西时,我也应该在模板中添加它。但是我希望它在一个地方。
答案 0 :(得分:0)
您应该将template与Jinja Templating模块一起使用。您需要创建模板.j2文件,如下所示:
class parent-child():
stack = []
def tree_recur(self,employee, level):
s = s[s.index("(")+1:s.rindex(")")]
ind = 0
while(s.rstrip != null or s != ""):
ss = s.index(",")
words = s[ind:ss]
parenind = words.index("(")
if parenind == -1:
stack.append(level,words)
s = s[ss+1:len(s)]
else:
stack.append(s[ss+1:parenind-1])
closeparenind = s.index(")")
ss1= s[parenind:closeparenind]
return tree_recur(self,ss1,level+1)
def main():
s = "(id,created,employee(id,firstname,employeeType(id), lastname),location)"
level = 0
print(E = parent-child(s, level))
main()
logging.level.root={{logging_level_root}}
endpoints.enabled={{endpoints_enabled}}
中的值是从通常存储在每个环境的清单文件中的变量中解析的。 {{}}
在不同情况下很有用 - 通常替换文件中的行。