0

コマンドラインから値を変更するオプションはおそらくないのではないでしょうか?

たとえば、次のようなものです。

knife data bag edit my_data_bag host1 ...action "upgrade"

したがって、2 行目が「削除」から「アップグレード」に変更されます。

{
    "id": "host1",
    "action": "remove"
}

ファイルから実行できることはわかっていますが、さまざまなチームにもっと簡単なプロセスを提供したいと考えていました。編集するファイルではなく、コマンドを提供する方が簡単です。json ファイルを編集してナイフに渡すには、ある程度の理解が必要です。また、何百ものボックスの json を編集するのが難しい場合があります。

これを単純化する良い方法を見つけたのではないでしょうか? 目標は、ファイルを編集するのではなく、いくつかのコマンドのような単純なプロセスを提供することです。

4

1 に答える 1

1

を介して直接変更する方法はないため、ユーティリティknifeを使用してプログラムでファイルを変更することをお勧めします。jq

簡単なスクリプトに基づいて、ユーザーからの入力を読み取り、それに応じて JSON ファイルを変更してから、knife data bag from fileユーザーが直接呼び出す必要なく呼び出すことができますknife

もう 1 つのオプション (私は個人的にはこれを好みます) は、変更された JSON ファイルが Git 経由でプッシュされ、CI サーバー (Jenkins など) がトリガーされ、データ バッグが更新されるというものです。誰もが Chef サーバーにアクセスする必要がない場合、これによりセットアップが簡単になります。

于 2016-02-22T16:32:04.340 に答える