我正在使用chef-inspc来验证使用packer创建的AMI图像以符合标准。其中一个要求是检查AMI图像之间的版本差异。
我有下面的代码,用于检查可翻译的2.8版本。
control 'Ansible check' do
impact 1.0
title 'Check anisble is installed'
describe package('ansible') do
it { should be_installed }
its('version') { should match (/2.8.*/) }
end
end
然而,我需要获得完整版本的变量来检查AMI之间的差异。Ex2.8.8
有没有一种方法可以在inspec报告函数中输出版本变量,或者我必须使用其他工具才能做到这一点?
提前谢谢。
在支票中再加8有什么错!?
[...]
its('version') { should match /2.8.8/ }
[...]
使用这篇文章https://discourse.chef.io/t/customise-testing-report/11722/4,我设置了一个简单的破解,使用ruby将版本写入另一个文本文件。
下面是我的代码。
f = File.open('versions.txt', 'a')
control 'Ansible check' do
impact 1.0
title 'Check anisble is installed'
describe package('ansible') do
it { should be_installed }
its('version') { should match (/2.8.*/) }
f.write("ansible : ", packages('ansible').versions[0], "n")
end
end
版本文件输出如下
# cat versions.txt
ansible : 2.8.10+dfsg-1