シェフサーバーでPolicyfileのワークフローを理解しようとしています。ChefDK Policyfileワークフロー - サードパーティ製の料理ブックをアップロードするには?
これまでのところ、私はロックファイルが生成され、「シェフプロビジョニング」がプロビジョニングクックブックを正しくピックアップし、コンバージプロセスを開始する時点にあります。
しかし、ポリシーファイルと同等の "berks install/berks vendor/knife upload"はないようです。シェフサーバーにはシェフサーバーにはアップロードされません。したがって、 "シェフプロビジョニング"コマンドは "cookbookを見つけることができません"というエラーで明らかに失敗します。ここで
は私policyfileをの抜粋です:私は「シェフプッシュDEV」を実行すると、彼らが適切になっているが
name "policy-test"
# Where to find external cookbooks:
default_source :supermarket
run_list "role[my-book::default]"
cookbook 'my-book', path: './cookbooks/my-book'
cookbook 'java'
cookbook 'chef-teamcity'
、唯一の「私の書籍は」(シェフのサーバーにアップロードしないが、他のいずれますPolicyfile.lockに記載されています)。これは正しい動作ですか、何か間違っていますか?
しかし、私は回避策としてBerksfileとナイフに依存関係をアップロードすることに頼っていましたが、最初はPolicyfileを持つことから多くの価値を取り除いています。
「シェフがプッシュする」サードパーティ製の料理ブックをアップロードする方法はありますか?
事前に感謝します。
UPDATE:
私は、レシピと役割を交換したが、それはまだ動作しません:
Starting Chef Client, version 12.13.37
resolving cookbooks for run list: ["my-book::default"]
================================================================================
Error Resolving Cookbooks for Run List:
================================================================================
Missing Cookbooks:
------------------
The following cookbooks are required by the client but don't exist on the server:
* my-book
はまだアップロード/ナイフアップロード回避策バークス使用する必要があります。
この問題と関連がありますか? https://github.com/chef/chef-dk/issues/901
ポリシーファイルが好きですか?私は個人的には、特定の環境にアプリケーションを作成し、 "berks apply"を使って料理のバージョンを固定することを好みます。 (参照:http://blog.vialstudios.com/the-environment-cookbook-pattern/) –
@ MarkO'Connorのようなもの - シェフプロビジョニングを使ってec2インスタンスとそのすべてのジャズをスピンアップします。 –