Ruby chef中不存在程序包SQLServer2012SP4KB4018073x64ENU.exe的源
我正在尝试使用chef将sql server 2012安装到虚拟机。。下面是我使用的代码,但我得到的源代码不存在错误。下面是我的server.rb代码Ruby chef中不存在程序包SQLServer2012SP4KB4018073x64ENU.exe的源,ruby,chef-infra,cookbook,Ruby,Chef Infra,Cookbook,我正在尝试使用chef将sql server 2012安装到虚拟机。。下面是我使用的代码,但我得到的源代码不存在错误。下面是我的server.rb代码 package package_name do source 'C:\Users\user\AppData\Local\Temp\SQLServer2012SP4KB4018073x64ENU.exe'# package_url checksum package_checksum timeout node['sql_server']
package package_name do
source 'C:\Users\user\AppData\Local\Temp\SQLServer2012SP4KB4018073x64ENU.exe'# package_url
checksum package_checksum
timeout node['sql_server']['server']['installer_timeout']
installer_type :custom
options "/q /ConfigurationFile=#{config_file_path} #{passwords_options}"
action :install
notifies :request_reboot, 'reboot[sql server install]'
returns [0, 42, 127, 3010]
错误
除了使该文件可用于
windows\u软件包
resource之外,还可以进行一次更改
的名称应与控制面板中显示的应用程序名称匹配。由于您使用SQLServer2012SP4KB4018073x64ENU.exe作为名称,Chef将在每次运行包时开始安装包(这可能不是我们想要的)
例如,如果我想安装一个像WinSCP这样的简单软件包,它在控制面板中显示为WinSCP
,那么我应该用它来命名我的资源
windows_软件包“WinSCP 5.17.7”执行
来源“C:\Users\Administrator\Downloads\WinSCP-5.17.7-Setup.exe”
安装程序类型:自定义
选项'/silent'
结束
现在,如果Chef再次运行,它将使此安装成为幂等项。您能确认路径存在并且有一个具有该确切名称的文件吗?为什么要将其保存在
\Local\Temp
中?这实际上与将其保存在回收站中是一样的。是的,其中有一个文件,我尝试了其他位置,但我收到的模板的错误路径与和windows\u软件包的错误路径不同。包是否也应位于vagrant可访问的位置?我尝试了此操作,但出现了相同的错误“包的源Microsoft SQL Server 2012(64位)不存在”。这不是解决源问题的方法。似乎您正在使用vagrant在虚拟箱中启动VM并与Chef一起部署?是的,我正在尝试启动VM并通过Chef安装sql。。。使用流浪汉。默认的cookbook源使用从microsoft下载的url。但是我想把它改成我自己的位置,但是当把这个url改成本地驱动器时,我得到了上面的错误。
* template[C:\Users\vagrant\AppData\Local\Temp\kitchen\cache\ConfigurationFile.ini] action create (up to date)
windows_package[SQLServer2012SP4KB4018073x64ENU.exe] action install
* Source for package SQLServer2012SP4KB4018073x64ENU.exe does not exist