gpt4 book ai didi

chef-infra - 我如何让 Test Kitchen 缓存 chef-client RPM?

转载 作者:行者123 更新时间:2023-12-04 02:17:06 25 4
gpt4 key购买 nike

每次创建盒子后第一次运行kitchen verify,都需要下载chef-client。例如:

 downloaded metadata file looks valid...
downloading https://opscode-omnibus-packages.s3.amazonaws.com/el/6/x86_64/chef-12.4.1-1.el6.x86_64.rpm
to file /tmp/install.sh.2340/chef-12.4.1-1.el6.x86_64.rpm

我的互联网连接不好,所以这需要很长时间。有没有一种简单的方法来缓存 RPM,这样我就不必每次都下载它了?

最佳答案

我一直无法通过 Kitchen 缓存 RPM,但我通过自己下载文件并将其提供给 Kitchen 解决了这个问题。

  • 下载 RPM 文件
  • 将它放在 .kitchen.yml 旁边的本地文件夹中。例如 Chef 包
  • Kitchen 将 chef 包下载到 /tmp 目录,因此在 .kitchen.yml 中使用 chef-pkgs 设置同步文件夹> 文件夹。示例:

示例.kitchen.yml:

driver:
name: vagrant
vagrantfiles:
- Vagrantfile
synced_folders:
- ["./chef-pkgs", "/tmp/chef-pkgs"]

provisioner:
name: chef_zero
require_chef_omnibus: 12.4.1
chef_omnibus_url: file:///tmp/chef-pkgs/install.sh
  • chef-pkgs 文件夹中创建一个 install.sh 文件,从缓存位置安装 RPM。

示例 install.sh:

#! /bin/bash
sudo rpm -ivh /tmp/chef-pkgs/chef-12.4.1-1.el6.x86_64.rpm

我从这篇有用的博客文章中得到了想法和代码:http://erichelgeson.github.io/blog/2014/09/23/simple-chef-package-cache/

我将 chef-pkgs 文件夹添加到我的 .gitignore 文件中。

关于chef-infra - 我如何让 Test Kitchen 缓存 chef-client RPM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33172613/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com