問題タブ [chef-solo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-web-services - アプリサーバーの起動後にシェフのレシピを実行するにはどうすればよいですか
Amazons OpsWorks の使用
PHP アプリケーション サーバーを初期化することができます。それは git からプロジェクトをダウンロードしてセットアップします。動作するカスタム レシピを実行しSetup
てダウンロードしますcomposer
が、これは git リポジトリがダウンロードされる前に実行されます。 、許可を変更しようとするのは時期尚早です。
私は現在Deploy
、git プロジェクトのダウンロードの一環として作成されたいくつかのファイルのアクセス許可を変更するレシピを持っていますが、このレシピは新しいインスタンスをセットアップするときに起動されないようです。手動でデプロイすることによってのみ実行できますアプリ。
git プロジェクトがシェフによってダウンロードされた後、インスタンスが作成されたときにレシピを実行するにはどうすればよいですか (そのため、サイトが自動スケーリングされ、新しいインスタンスが起動されると、ファイルのアクセス許可を正しく設定するためにレシピが実行されます)
chef-infra - Vagrant の Chef Recipe が、実行時間の長い w-get ダウンロードで rest_timeout または timeout オプションを尊重しない
シェフのレシピで使用する大きなファイルを wget しようとしています。これは約 350 MB のデータベース バックアップです。ファイルを取得するために wget を使用しています。これが私のレシピです。
何を試しても、次の結果が得られます。
rest_timeout オプションを追加できるように、Vagrant にモンキー パッチを適用してみました。
これにより、rest_timeout オプションを持つ /tmp/vagrant-chef-1/solo.rb が生成されます。
しかし、Chef が完了できないという同じエラーが引き続き表示されます。Chef のタイムアウトやその他の問題でレシピが停止することなく、この大規模なダウンロードを機能させるための提案はありますか? マシンをセットアップして内部から wget を実行すると、正常に動作します。どんな助けでも大歓迎です!
chef-infra - シェフのクックブックのコレクションのどこにドットファイルを配置する必要がありますか?
インフラストラクチャをシェフにゆっくりと移行し、途中でクックブックのコレクションを構築しています。
私が確信していないことの1つは、ノード/ロール/ユーザー固有のドットファイルがどこに行くべきかということです。
たとえば、rbenv クックブックを使用して複数のユーザーに rbenv をインストールできます。
ユーザー A は rdoc ドキュメントを必要としないため、カスタム.gemrc
ファイルが必要になります。
これはどこに行くべきですか?
ファイルの内容をノード/ロール固有の JSON ファイル、またはデータ バッグに入れることもできますが、これは適切ではありません。
一般的なクックブックではなく、特定のノード/ユーザー向けの方法で実際のファイルを含める方法はありますか?
ruby - Rubyを使用してs3バケットからzipファイルをダウンロードする方法
必要なすべてのファイルを (AWS SDK の ruby gem を使用して) 圧縮し、S3 バケットにアップロードすることができます。S3からローカルサーバーにzipファイルをダウンロードして解凍しようとすると、次のエラーが発生します...
[2013-05-06T07:19:37+00:00] FATAL: TypeError: aws_unzip[db_unzip] (aws::unzip 行 14) にエラーがありました: TypeError: NilClass を複製できません
手動で解凍しようとしても、「zip ファイルが破損しています」と表示されます...しかし、S3 の場所にある zip ファイルは破損していません (ダウンロードして手動で解凍することをテストしたところ、うまく解凍されました)。 ..バケットからローカルサーバーへのzipファイルの読み取りで間違いを犯している場所を誰か助けてもらえますか????? ダウンロードすると壊れてしまいます...
私のコードは
provisioning - Veewee、Vagrant、Berkshelf の統合
VirtualBox、Veewee、Vagrant、Chef-solo を Berkshelf で使用して仮想開発環境をセットアップする方法を学ぼうとしています。
私はこれに非常に慣れていないので、オンラインで見つけられるものはすべて読みましたが、何か重要なものが欠けていると思います. うまくいけば、ここの誰かが私が理解するのを助けることができます.
私が問題を抱えている部分は、Chef-solo と Berkshelf を使用して、Veewee で生成された Vagrant ボックスをプロビジョニングすることです。
私の観点からすると、Vagrant と仮想環境を使用する主な利点は、それらが再現可能で移植可能であることです。そのため、ローカル ホスト マシンに Berkshelf gem をインストールしてレシピをダウンロードする必要がある理由がわかりません。
これがすべてゲストで行われないのはなぜですか?
カスタマイズした Vagrantfile を他の人に渡すと、その人のマシンでは vagrant upが機能しません。これは、Vagrantfile が他の人がデフォルトで持っていないローカル レシピを参照するためです。Berkshelf とレシピを自分のマシンにインストールすることは、目的を達成できず、どこかで Web で入手できるレシピを参照することもできなくなります。
ゲストに Berkshelf gem をインストールし、そこでレシピをローカルにダウンロードして、ゲストでレシピを使用するように Vagrant に指示する方がよいのではないでしょうか? これを行う方法に関する新しい Vagrant ドキュメントには参照が見つかりませんでしたが、古いバージョンでは、仮想マシン内のクックブック フォルダーを指定することが利用可能なオプションでした。
だから基本的に私が知りたいのは:
私の推論は有効なオプションですか、それとも便利なツールまたは全体像のいずれかが欠けていますか?
私の推論が有効である場合、これを行う方法の正しい方向を教えていただけますか? インストール後のスクリプトを使用して Berkshelf を追加し、レシピをダウンロードして、Vagrant ベース ボックスを構築するための Veewee テンプレートをカスタマイズする方法を見つけようと考えていましたが、おそらくやり過ぎか、これを行う方法が間違っているのでしょうか?
前もって感謝します!