問題タブ [berkshelf]
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.
ruby - Vagrant はプロジェクトのすべてのサーバーを管理できますか? (例: ローカル、開発、ステージング、本番)
数週間前、私は Vagrant に出会い、恋に落ちました。現在、新しいプロジェクトで試していますが、ローカルでうまく機能しています。私は Chef Solo を使用してボックスのすべてのソフトウェアをビルドし、Berkshelf を使用してクックブックを管理しています。
私が疑問に思っているのは、各プロジェクトの開発、ステージング、および本番サーバーを誰もがどのように管理しているかということです。私はローカルでこのプロジェクトに取り組んでいますが、プロジェクトが完了したら、開発サーバーと、最終的にはステージング サーバーと運用サーバーを用意したいと考えています。
Vagrant AWS Pluginを使用して Amazon の Ec2 で Vagrant を正常にセットアップしましたが、Vagrant ではvagrant up
ローカル ボックスと開発ボックスを同時に使用できないようです。1 つしか使用できません。
基本的にこの機能を提供する小さな bash スクリプトを作成しました。走れる
そして、そのボックスの構成専用の Vagrantfile を探して、指定した各ボックスをビルドします。machines
各vagrantファイルが存在するディレクトリ名があります。私が持っているディレクトリ構造は次のようになります
これは賢明な解決策ですか?
1 つのプロジェクトで複数のサーバーをどのように管理していますか。すべての構成を 1 つの Vagrantfile に入れることはできますか?
ruby - berks のインストールで書き換えるものが見つかりませんでした
私は Windows 7 x64 コンピューターを使用しており、ChefDK 0.3.0-1 がインストールされ、berkshelf と omnibus gem もインストールされています。Berksfile と metadata.rb ファイルをそのようにセットアップします
メタデータ.rb
バークスファイル
システム環境変数の環境変数を次のように設定します。
ただし、コマンドを発行すると:
次のエラーが表示されます。
Cygwin Git を使用できないことがわかりました。これは、何を構成すればよいかわからないためであり、git-scm の Git はこれまでのところ機能しています。また、Windows コマンド プロンプトを使用してこれらのコマンドを実行しています。ここから何をすればよいのか、これが何を伝えようとしているのかわかりません。
chef-infra - シェフがクックブックを解決できないのはなぜですか?
はじめ に 私は、職場でのサーバー管理を自動化するために Chef を学んでいます。ここからchefdk 3.0をダウンロードしまし た 。今、chefを使用して最初のクックブックを作成しようとしています。
重要 私はこれを Windows 環境でテスト目的で使用しています。Windows には iptables がないため、失敗すると予想されますが、クックブックが見つからないという理由で失敗することはないと思います。Windowsクックブックを使用してみましたが、動作します。
クックブックを作成して実行することはできますが、スーパーマーケットから依存関係を参照することはできません。
私は2つの選択肢を試しました:
代替案 1
次のコマンドを使用してクックブックを作成しました
(このチュートリアルから)
チュートリアルを完了することができたので、別のクックブックを参照してテストしたいので、simple_iptablesを選択しました
この行を追加しました
スーパーマーケットで説明されているように、私のBerksfileに。
次に、次の行を default.rb ファイルに追加しました。
そして、次を使用してクックブックを実行します。
問題は、シェフがクックブックを見つけられないことです
メタデータに追加してみました:
しかし、私はまだエラーが発生します:
代替案 2
私はまだそれを機能させようとしているので、「バークシェルフの方法」も試してみたので、新しいクックブックを作成しました。
そして、私はこの行を追加しました
スーパーマーケットで説明されているように、私のBerksfileに。
次に、次の行を default.rb ファイルに追加しました。
実行された berks インストール:
バークスのインストール
そしてそれを実行しました:
同じエラーが返ってきました
メタデータに追加してみました:
しかし、私はまだエラーが発生します:
~/berkshelf フォルダーを見てみると、そこにクックブックがあります。
** 代替案 3 **
Amazon で CentOS 6.5 EC2 インスタンスを開始し、Ruby 2.1.3 と Chef をインストールしました。~/chef-repo/cookbooks フォルダーを作成しました
berkshelf を使用してクックブックを作成し、実行しました
他の代替案と同様に参照/コードを追加してから
前回と同じように走りました。
私は同じ問題を抱えています。
私は何が欠けていますか?機能させるには何が必要ですか?
chef-infra - シェフ クライアントが berkshelf を使用してクックブックを見つけられない
私はシェフが初めてで、バークシェルフとシェフクライアントで問題に遭遇しました。依存関係のある独自のクックブックを作成して適用したいと考えています。私の最初のクックブックは次のようになります。
そして、シェフクライアントを実行sudo bundle exec chef-client -z -o znc --config=client.rb
するとクックブックが見つかりません:
また、注意してください:
クックブックが見つからない理由を教えてください。
編集:
素早い回答ありがとうございます。解決策は、John Bellone が言ったとおりで、構成を次のようにbundle exec berks vendor
変更します。client.rb
maven - Berkshelf-api と Chef Supermarket は、従来のアーティファクト リポジトリと何が違うのですか?
Artifactory、Maven、Nexus などのアーティファクト リポジトリに精通しています。
Berkshelf-API / Chef Supermarket は、上記のアーティファクト リポジトリと何が違うのですか?
一見すると、既存のアーティファクト リポジトリの機能を複製しているように見えます (不変性、推移的な依存関係の解決など)。
明確化: これは意見に基づく質問ではありません。他の典型的なアーティファクト リポジトリではなく、Berkshelf-API / Chef Supermarket が Chef Cookbook に使用される 技術的な理由を探しています。
chef-infra - 他の人がBerkshelfでロックし続けている間、常に最新のクックブックを使用する方法
私はBerksfile
このようなものを持っています:
の後knife solo cook node
、Berksfile.lock
が作成され、クックブックのバージョンがロックされます。
自分のクックブック( )には最新のクックブックを使用し、他の人が作成したクックブック( 、 )foo
のバージョンをロックしたい。rbenv
ruby_build
やり方がわかりませんでした。誰も私ができることを知っていますか?
chef-infra - シェフ環境をパッケージ化し、別のプロビジョニング サーバーで実行する
ソフトウェア ソリューションを実行する環境をセットアップするために、いくつかのクックブックを作成しました。これらのクックブックは 2 つの git サーバーにあり、パブリック クックブックに依存しています (私たちは berkshelf を使用しています)。
ソフトウェア ソリューションをさまざまなクライアント環境 (ハードウェア) にプロビジョニングする必要があります。そのためには、開発マシンの 1 つですべてのパッケージを作成し、そのパッケージをクライアントのプロビジョニング マシンにアップロードできるようにしたいと考えています。環境。次に、そのプロビジョニング マシンを使用して、そのクライアントのすべてをセットアップします。
このようにする必要があるのは、クライアント環境のプロビジョニング マシンがクックブックを保存している git サーバーにアクセスできないためです。インターネットにアクセスできない場合もあります。基本的に、クライアント環境を完全に孤立した島として扱いたいと考えています。
環境全体 (依存関係を含む) をパッケージ化し、プロビジョニング サーバーにアップロードできるようにしたいと考えています。次に、chef-zero を起動し、そこからその環境のすべてのノードをプロビジョニングします。
問題は、これを達成する方法がまったくわからないことです。