Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Chef infra 厨师菜谱没有';t运行服务_Chef Infra - Fatal编程技术网

Chef infra 厨师菜谱没有';t运行服务

Chef infra 厨师菜谱没有';t运行服务,chef-infra,Chef Infra,我的食谱中有以下代码: service "myapp" do supports :restart => true, :start => true, :stop => true action :nothing end bash "install myapp" do cwd "/var/lib/myapp" code <<-EOH npm install myapp EOH timeout 86400 noti

我的食谱中有以下代码:

service "myapp" do
  supports :restart => true, :start => true, :stop => true
  action :nothing
end 

bash "install myapp" do
    cwd "/var/lib/myapp"
    code <<-EOH
    npm install myapp
    EOH
    timeout 86400
    notifies :start, "service[myapp]"
end
然而,这项服务并没有真正启动。。如果我手动登录并运行“service myapp start”,它就可以正常工作


我尝试使用
-VV
运行刀引导命令,但控制台上没有提供进一步的信息

您已经定义了服务的功能,但没有定义所需的操作

service "example_service" do
  supports :status => true, :restart => true, :reload => true
  action [ :enable, :start ]
end
记录

更新 你为什么不用食谱呢?如果它像广告中所宣传的那样工作,那么您的配方看起来更像是一个普通的软件包安装和服务声明:

npm_package "myapp" do
  version "1.2.3"
  path "/var/lib/myapp"
  action :install
end 

service "myapp" do
  supports :status => true, :restart => true, :reload => true
  action [ :enable, :start ]
end

您已经定义了服务的功能,但没有定义所需的操作

service "example_service" do
  supports :status => true, :restart => true, :reload => true
  action [ :enable, :start ]
end
记录

更新 你为什么不用食谱呢?如果它像广告中所宣传的那样工作,那么您的配方看起来更像是一个普通的软件包安装和服务声明:

npm_package "myapp" do
  version "1.2.3"
  path "/var/lib/myapp"
  action :install
end 

service "myapp" do
  supports :status => true, :restart => true, :reload => true
  action [ :enable, :start ]
end

我相信OP不希望在声明期间启用或启动服务。他正确地说明了
操作:nothing
,然后在
模板
资源运行时通知它启动。@cbl我不是nodejs用户,但有一本npm食谱可用。我相信OP不想在声明期间启用或启动服务。他正确地说明了
操作:nothing
,然后在
模板
资源运行时通知它启动。@cbl我不是nodejs用户,但有一本npm食谱可用。这里有个猜测,但可能Chef认为服务已经启动,所以它不会再次启动。您可以尝试通知一个
:重新启动
,这可能会奏效。您找到解决此问题的方法了吗?回答你自己的问题没关系。请不要忘记将答案标记为正确!:)这里有点胡乱猜测,但也许厨师认为服务已经开始了,所以不会再开始了。您可以尝试通知一个
:重新启动
,这可能会奏效。您找到解决此问题的方法了吗?回答你自己的问题没关系。请不要忘记将答案标记为正确!:)