在InSpec报告中获取版本变量作为输出



我正在使用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

最新更新