Chef infra 关于设置厨师推送工作有什么建议吗?

Chef infra 关于设置厨师推送工作有什么建议吗?,chef-infra,Chef Infra,我看了这一页,但仍然感到困惑。例如,该页面描述了这一点 Add the following default attributes on all nodes that are managed by Chef push jobs: "push_jobs": { "package_url": "<package_url>", "package_checksum": "<checksum>" } 在厨师推送作业管理的所有节点上添加以下默认属性: “推送作业”:{ “程

我看了这一页,但仍然感到困惑。例如,该页面描述了这一点

Add the following default attributes on all nodes that are managed by Chef push jobs:

"push_jobs": {
  "package_url": "<package_url>",
  "package_checksum": "<checksum>"
}
在厨师推送作业管理的所有节点上添加以下默认属性:
“推送作业”:{
“程序包url”:“”,
“包校验和”:”
}
但什么是包url和校验和?我在哪里买的


一般来说,是否有关于如何设置厨师推送作业的简单教程?

您可以在上找到URL和校验和。选择平台后,可以右键单击下载链接并复制源代码。该页面还允许您从下载链接下方复制校验和。

同意主要回复,但唯一的问题是它提供了默认不起作用的SHA1签名。在我下载软件包后,我不得不使用sha256sum.exe计算SHA256,以使其正常工作

我只想补充已经给出的答案,感谢Michael Lapidakis和kirill_I,因为他们的答案帮助我找到了如何引导windows服务器节点,以便使用winrm安装chef客户端软件和推送作业客户端

我没有更新推送作业配方的属性文件,而是将package_urlpackage_校验和作为刀子命令行上的json属性传递。kirill_I是正确的,因为下载页面上给出的哈希值是SHA1而不是SHA256,因此它不能用作校验和。在windows框上获取校验和的最简单方法是使用powershell命令获取文件哈希,因为没有internet下载,sha256sum.exe不可用。您必须降低()输出,因为默认情况下powershell以大写形式给出输出,chef将其视为两个不同的校验和:

COMPUTERNAME.DOMAIN[2015-10-27T09:25:59-07:00]致命:Chef::Exceptions::ChecksumMismatch:windows_包[Opscode Push Jobs Client Installer for windows v1.1.5](Push Jobs::windows第29行)出现错误:Chef::Exceptions::ChecksumMismatch:remote_文件[c:/Chef/cache/Opscode-Push-Jobs-Client-windows-1.1.5-1.windows.msi](动态定义)出现错误:Chef::Exceptions::ChecksumMismatch:资源(411520)上的校验和与内容(411520)上的校验和不匹配。

要在powershell中获取哈希,请使用以下命令,将文件名和目录替换为从chef下载的版本:

(Get-FileHash c:\Software\opscode-push-jobs-client-windows-1.1.5-1.windows.msi -Algorithm SHA256).Hash.toLower()
然后,我将该散列插入以下刀引导命令:

knife bootstrap windows winrm COMPUTERNAME.DOMAIN --winrm-user Administrator --winrm-password 'password' --node-name COMPUTERNAME.DOMAIN --run-list 'recipe[push-jobs]' -j '{ \"push_jobs\": { \"package_url\": \"https://opscode-private-chef.s3.amazonaws.com/windows/2008r2/x86_64/opscode-push-jobs-client-windows-1.1.5-1.windows.msi\", \"package_checksum\": \"411520e6a2e3038cd018ffacee0e76e37e7badd1aa84de03f5469c19e8d6c576\" } }'

必须对json进行转义,否则会出现json解析器错误。

你说得对,谢谢。说明中不清楚这两个属性应该具有什么属性。你是否有幸将自定义推送作业命令添加到白名单中?当我使用刀子搜索时,它会在白名单中显示Windows节点的自定义作业,h但是,当我尝试运行它时,作业立即失败,在Windows端,它说命令不在白名单中。我自己没有尝试过这样做。我一直依赖于为节点设置运行列表[knife node run_list set COMPUTER.DOMAIN'recipe[…]…]然后运行刀子作业开始--timeout 600'chef client'COMPUTER.DOMAIN。我们只是在重做我们的整个连续交付管道的过程中,所以我决不是说这是一条路,只是我们迄今为止所做的方式。在执行了我自己的获取whitelis的实验后,回答了您最初关于白名单的问题为了工作,您认为它确实是windows端的一个bug,这是正确的。