小编DEL*_*zed的帖子

获取部署的cookbook版本

我在哪里可以找到部署的食谱版本?似乎自动属性不会监听版本.

有没有办法在食谱或模板中的某个地方访问cookbook_version?

chef-infra

11
推荐指数
1
解决办法
3532
查看次数

MSBuild从输出中排除附属程序集

是否有可能告诉MSBuild不要为某个组件或所有组件复制卫星组件?

我有一个nuget包,其中包含资源程序集,但我不想将它们包含在我的输出中.

谢谢.

c# msbuild satellite-assembly

6
推荐指数
1
解决办法
835
查看次数

chef recipe - 资源中不可用的模块方法

我通过一个模块扩展了配方类,以提供一些属性,这些属性使我可以全局访问我的路径,这些路径是动态构造的.例:

module Variables
  def user
    "user_name"
  end
  def user_home
    "/home/#{node['user']}"
  end
end

class Chef::Recipe
  include Variables
end
Run Code Online (Sandbox Code Playgroud)

问题是,在资源块中,这些方法不可用.

bash "do_something_with_property" do
  user user
  code "somecommand #{user_home}"
end
Run Code Online (Sandbox Code Playgroud)

NoMethodError:Chef :: Resource :: Bash的未定义方法`user_home'

奇怪的行为是,用户属性工作正常,但代码块中使用的属性不起作用.

在此之后,我还将模块包含在所有资源中:

class Chef::Resource
  include Variables
end
Run Code Online (Sandbox Code Playgroud)

现在,我的user_home属性在资源块中的行为与在"outside"中使用时的行为不同,这意味着:

directory "#{user_home}/new_dir" do
  action :create
end
Run Code Online (Sandbox Code Playgroud)

创建/ home/user_name/new_dir

bash "create_dir" do
   code "mkdir #{user_home}/new_dir"
end
Run Code Online (Sandbox Code Playgroud)

结果在/ home // new_dir

我用一个小测试脚本对此进行了测试,一切正常.

module MyModule
def module_method
    puts "blablalba"
end
end

class A
def block_method (&block)
    block.call
end
end

class B
include MyModule …
Run Code Online (Sandbox Code Playgroud)

chef-infra

5
推荐指数
1
解决办法
3096
查看次数

MonoObject到c ++ bool

我已将单声道运行时嵌入到我的C++应用程序中.C++代码调用一个返回bool值的C#方法.

如何从返回的MonoObject中获取bool值?

MonoObject* res = mono_runtime_invoke(my_method_instance, processor_, nullptr, nullptr);
bool result = *how does this work??*;
Run Code Online (Sandbox Code Playgroud)

mono-embedding

1
推荐指数
1
解决办法
619
查看次数