我按照official site的建议,将Jenkins的工作配置为运行foodcritic&Analysis分析。 当我执行这项工作时,所有结果都显示如下:
如上表所示,代码库有一个" Chef List Warning"由official site引用为FC017。 postgredb.rb的原始代码是:
# Support whyrun
require 'chef/mixin/shell_out'
require 'chef/mixin/language'
include Chef::Mixin::ShellOut
def whyrun_supported?
true
end
action :install do
version = @new_resource.version
options = @new_resource.options
e = execute "sudo apt-get install postgresql-#{version} #{options}"
@new_resource.updated_by_last_action(e.updated_by_last_action?)
end
# Now, it just changes the default password to postgres.
action :unistall do
converge_by "Unistall postgresql--#{@new_resource.version}" do
e = execute "sudo apt-get purge postgresql--#{@new_resource.version}" do
#not_if { "dpkg --get-selections | grep postgresql-#{@new_resource.version}" }
end
end
end
...
FC017警告是针对第10行的,因为" LWRP在更新发生时不通知":
@new_resource.updated_by_last_action(e.updated_by_last_action?)
然后我尝试解决问题更改线:
@new_resource.updated_by_last_action(true)
但问题仍存在于第10行。
有谁知道这是什么问题?为什么如果参数设置为真,这个警告就不会被消除?
答案 0 :(得分:3)
从@
new_resource
符号