我对 Windows 非常不熟悉。我正在尝试设置 Chef,这样我就可以避免每次以开发人员的身份在机器上安装 Windows 时重复执行一堆“初始设置任务”(启用适用于 Linux 的 Windows 子系统、安装 Chocolatey、安装 VS Code 和 FireFox ......)。
不幸的是,我根本找不到关于此的任何文献资料。[1]
我已经安装了“Chef Workstation”(它似乎已经取代了本地机器的“ChefDK”,但基本上没有记录,我想是新的?)通过手动下载它的 Windows 安装程序并运行它。
我已经运行了
chef generate cookbook first_cookbook
旧教程建议的命令,但该命令并没有什么帮助(因为它主要指的是用于托管安装的称为“刀”的东西,我想?)该命令的输出建议查看“delivery”命令(除非我参加了 Chef 团队的“课程”,否则该命令似乎再次没有记录?)以执行食谱。经过一些实验,看起来我需要
delivery local acceptance
让食谱在我的笔记本电脑上运行;但这会引发一堆与 Vagrant 相关的错误(没有教程、文档或消息建议它是 Chef 的先决条件!?)ELLIOTTCABLE@Xenia-Windows ~/first_cookbook (master) λ delivery local acceptance Chef Delivery Running Acceptance Stage Running Provision Phase -----> Starting Kitchen (v1.24.0) >>>>>> ------Exception------- >>>>>> Class: Kitchen::ShellOut::ShellCommandFailed >>>>>> Message: Expected process to exit with [0], but received '1' ---- Begin output of vagrant --version ---- STDOUT: STDERR: 'vagrant' is not recognized as an internal or external command, operable program or batch file. ---- End output of vagrant --version ---- Ran vagrant --version returned 1 >>>>>> ---------------------- >>>>>> Please see .kitchen/logs/kitchen.log for more details >>>>>> Also try running `kitchen diagnose --all` for configuration Phase failed with exit code (1)!
如果是这样,这对我来说是一个问题,我不确定如何规避 - 我的最终目标当然是通过两步设置新机器(安装 Chef,从网络运行脚本。)Vagrant 是一个相当大的先决条件!
其他教程建议使用
chef-client -z
类似的方法。但结果也不尽如人意——无论是在“chef generate”创建的目录中,还是在其父目录中,似乎都找不到我刚刚生成的食谱:Missing Cookbooks: ------------------ No such cookbook: first_cookbook Expanded Run List: ------------------ * first_cookbook
总结有人可以向我详细讲解以下步骤吗:A. 安装 Chef 供本地使用;B. 创建一个可以 git-version 安装的脚本,比如说,FireFox;C. 立即在我刚刚输入它的机器上运行它?
(提前感谢你们所有人的帮助,我真的很迷茫!在 15 年的软件开发中,我从来没有感觉自己像个初学者。;_;)
- 自从几年前我上次浏览 Chef 以来,它似乎已经变得非常“企业化”。如果我想参加一个“网络研讨会”教程课程,花四个小时了解他们对如何实施 DevOps 的看法,或者如何使用他们的托管服务,或者如何设置一个涉及多个服务器和客户端相互配置的极其复杂的自动化系统,我都能得到很好的服务。如果我真的只想安装 Chef,并将其配置为安装单个 Chocolatey 包,...我显然运气不佳,因为这个过程似乎完全没有记录,除了 2011 年过时的博客文章。:P