0
私はサーバー上にイアファイルを展開するpythonスクリプトを持っていますが、Linuxノードをブートストラップするためにシェフを使ってこのスクリプトを実行するにはどうすればいいですか?シェフの料理本にPythonスクリプトを置きます
以下のようなレシピを試しましたが、料理本の "mycookbook \ files \ default \ deploy.py"フォルダ内にある私のpythonスクリプトを特定できませんでした。
execute 'executeFile' do
command "python #{'deploy.py'}"
end
完全なファイルパスを指定しても、ファイルを認識できませんでした。どのようにシェフの実行リソースを使用して料理ブック内のPythonスクリプトを実行するには?
cookbook_file "/root/deploy.py" do
source "deploy.py"
end
python_execute "/root/deploy.py"
コマンドラインを微調整する場合にも、通常のexecute
リソースを使用することができます。poise-python
料理のpython_execute
リソースを使用して
ありがとう、これは問題の解決に役立ちました。シェフの属性をPythonファイルに渡すことはできますか?シェフのように "cookbook_file node ['py'] ['tmpDir'] do"は属性エントリに基づいて適切な場所に解決されますが、これらの属性にもPythonファイルでアクセスできますか? – springbatcher
いいえ、コマンドライン引数として必要な値を渡す必要があります: 'python_execute" /deploy.py#{node ['whatever']} '' – coderanger