2016-08-17 7 views
1

シェフには新しいサービスを作成するための組み込みサポートがありません。私は私のレシピの一つで新しいWindowsサービスを作成します。シェフと一緒に新しいWindowsサービスを作成するにはどうすればいいですか?

powershell_script "Derp" do 
    code <<-EOH 
    new-service \ 
    -name derp "C:/path/myservice.exe" \ 
    -displayName "derp" \ 
    -StartupType Automatic \ 
    -Description "derp Service" 
    EOH 

は、これが最初の実行時に細かい動作しますが、サービスはすでに存在しているので、それは以降の実行のためにエラーが発生します。

ここで私のガードを行う唯一の解決策はありますか?私はできる限りレシピで自分の条件付きでやるのをやめたい。私はこの問題を抱える唯一の人にはなりませんが、シェフの方法を解決するためのオンラインの例はたくさんあります。

答えて

1

シェフがサービスの作成をサポートしていないと思われる理由をよく理解していないと、serviceリソースの:enableアクションはWindowsと同じように動作します。

+0

何ですか?私がどのように使用できるかの例を教えてください: "C:/path/myservice.exe"を実行する新しいWindowsサービスを作成できるようにします。私はそれができるとは思わなかった。 – red888

+0

あなたは何を意味するかわからない、サービスは一般的に自分自身を登録し、その後シェフがスタートアップパラメータを設定します。 myservice.exeは通常の実行可能ファイルか実際のサービスですか? Windowsサービスは、通常のプログラムを使用できるLinuxのようなものではありません。 – coderanger

+0

このスクリプトで私が何をしているかを見ることができます。すでに存在していても存在していなくてもよい新しいサービスを指す新しいWindowsサービスを作成します。 – red888

関連する問題