我刚刚开始在工作中使用CHEF,并且我被要求将软件包下载到Linux主机,解压缩,应用许可证并启动它。
作为解包的一部分,创建了一个应该包含许可证信息的ini文件。许可证文件本身与ini文件[license]部分相同,但它还包含其他部分的更多详细信息。
我想要做的是在ini文件中搜索许可证块,然后将许可证文件中的详细信息插入其中。
所以ini文件最初看起来像这样
[Licence]
;You have to complete this section to start
[users]
admin=admin
[roles]
admin = admin, operate, user
[modules]
我的许可证文件就像这样
[licence]
Serial=123456789
baa=3 bags full
Key=123456789
ExpireDate=2016-06-10 00-00-00r
我不知道在CHEF中做到这一点的最好方法。我有几个问题
感谢您的帮助
答案 0 :(得分:2)
最好的方法是在Chef中管理整个文件,然后使用template resource。如果你真的想尝试你的第二或第三个要点,请查看line cookbook以获取一些文件编辑的示例(并使用not_if
防止两次附加行。)
要重新进行迭代 - 使用模板与Chef一起管理整个文件。这是在Chef中做到这一点最惯用的方式。