2016-09-05 3 views
0

シェフサーバーで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

+0

ポリシーファイルが好きですか?私は個人的には、特定の環境にアプリケーションを作成し、 "berks apply"を使って料理のバージョンを固定することを好みます。 (参照:http://blog.vialstudios.com/the-environment-cookbook-pattern/) –

+0

@ MarkO'Connorのようなもの - シェフプロビジョニングを使ってec2インスタンスとそのすべてのジャズをスピンアップします。 –

答えて

0

実際にポリシーファイルで役割を使用することはできません。ポリシー自体が役割の概念を置き換えるためです。プッシュは、実行リストを使用して何をアップロードするかを知る。実行リストに記載された料理ブックまたはその依存関係がアップロードされる。この場合、おそらくそれをrecipe[my-book]に変更し、その2つの料理ブックをポリシーにリストするのではなく、my-book/metadata.rbに依存関係として追加します。より完全なウォークスルーについては、https://yolover.poise.io/を参照してください。

+0

右のように、ロールを使用すると、基本的にポリシーベースの依存関係解決が破損します。ありがとう! –

+0

それは壊れていない、それらを一緒に使用することはできません。それは設計によるものです。 – coderanger

関連する問題