首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过厨师将Gem安装到ChefDK中

通过厨师将Gem安装到ChefDK中
EN

Stack Overflow用户
提问于 2014-05-15 13:48:08
回答 3查看 5.5K关注 0票数 1

我想将一个Gem (厨房码头)安装到ChefDK的Gem路径中。

通过主厨安装这个宝石的最好方法是什么?有比以下更聪明的解决方案吗?

代码语言:javascript
复制
execute "chef gem install kitchen-docker" do
  user "jenkins"
  not_if "chef gem list | grep ^kitchen-docker"
end

一些背景信息:我想在我们的CI服务器上使用Jenkins中的ChefDK进行食谱测试。当然,CI服务器本身应该由主厨提供。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-11-05 23:02:47

显然,为了在/opt/chefdk/中安装主厨gem系统,可以通过gem_package资源使用gem命令的参数--no-user-install

代码语言:javascript
复制
gem_package "kitchen-docker" do
  gem_binary "/opt/chefdk/embedded/bin/gem"
  options "--no-user-install"
end

这将安装gem并使其对系统上所有运行chefdk的用户可用。

票数 2
EN

Stack Overflow用户

发布于 2014-06-13 03:44:41

运行以下命令:

代码语言:javascript
复制
chef gem install kitchen-docker

此安装gen un chefdk路径。

诚挚的问候!

票数 3
EN

Stack Overflow用户

发布于 2016-04-28 00:36:30

这个片段为我创建了一个允许我执行chef_dk_gem "kitchen-dokken"的资源

它比我所希望的要困难得多,但是由于厨师-2288的问题,我在将gem输入目标用户时遇到了很多困难,并且使用chef正确地设置了GEM*的env变量。

代码语言:javascript
复制
action :install do
    include_recipe "chef-dk"
    execute "setup chefdk gem #{gem_name}" do
        command "runuser #{gem_user}  -c '/opt/chefdk/embedded/bin/gem install #{gem_name}'"
        not_if "/opt/chefdk/embedded/bin/gem list #{gem_name} | grep #{gem_name}'", :user => gem_user
    end
end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23680177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档