変数ライブラリを使用すると、リリース パイプラインのさまざまなステージでの構成を簡単に管理し、Git に値を保存できます。 この記事では、ライフサイクル管理と CI/CD のコンテキストで変数ライブラリを使用する方法について説明します。
変数ライブラリと展開パイプライン
変数ライブラリとその値を展開パイプラインにデプロイして、さまざまなステージ間で変数値を管理できます。
覚えておく必要がある重要な情報を次に示します。
- 変数ライブラリ内のすべての 値セット は、デプロイ パイプラインのすべてのステージで使用できますが、ステージでアクティブになっているのは 1 つだけです。
- 各ステージに 設定されたアクティブな値 は個別に選択され、いつでも変更できます。
- 既定では、最初にデプロイ/コミットされると、変数ライブラリのアクティブ セットが既定値に設定されます。 これを変更するには、ターゲット ステージ/リポジトリで新しく作成された変数ライブラリにアクセスし、アクティブなセットを変更します。
- 各ステージで 選択したアクティブな値セット はデプロイの影響を受けませんが、変数ライブラリで値自体を更新できます。 ワークスペース内のコンシューマー項目 (パイプラインなど) は、アクティブな値セットから正しい値を自動的に受け取ります。
デプロイ パイプラインの 1 つのステージの変数または値セットに対する次の操作により、変数ライブラリが異なるステージの同じ項目と比較して異なるものとして反映されます。
- 追加、削除、または編集された変数
- 追加または削除された値セット
- 変数の名前
- 変数の順序
アクティブな値セットは項目構成の一部ですが、その定義には含まれていないため、アクティブな値セットに対する単純な変更は比較しても異なって登録されません。 これが、デプロイ パイプラインの "比較" に表示されず、各デプロイで上書きされない理由です。
変数ライブラリと Git 統合
他の Fabric 項目と同様に、変数ライブラリを Git と統合してソース管理を行うことができます。 変数ライブラリ項目は、Fabric と Git プロバイダーの間で維持および同期できるフォルダーとして格納されます。
項目のアクセス許可は、Git の更新とコミット中に確認されます。
変数ライブラリ項目スキーマは、次の 4 つの部分を含む JSON オブジェクトです。
- Value sets フォルダー
- [設定]
- platform.json: 自動生成されたファイル
- 変数
値セット
変数ライブラリ フォルダーには、valueSets というサブフォルダーが含まれています。 このフォルダーには、各値セットの JSON ファイルが含まれています。 この JSON ファイルには、その値セット内の 既定値以外 の変数値のみが含まれます。 (既定値は variables.json ファイルにあります)。
値セット ファイルの詳細 (例を含む) については、 値セットの例を参照してください。
このファイルにない変数の値は、既定値セットから取得されます。
設定
settings.json ファイルには、変数ライブラリの設定が含まれています。
サンプル設定ファイルについては、 settings.json 例を参照してください。
変数
variables.json ファイルには、変数名とその既定値が含まれています。
変数ファイルの詳細 (例を含む) については、 variables.json 例を参照してください。
考慮事項と制限事項
サイズ制限
- 代替値セットのセルの合計数が 10,000 セル未満で、項目のサイズが 1 MB を超えない限り、"最大 1,000 個の変数" および "最大 1,000 個の値セット" を使用できます。 これは、ユーザーが変更を保存するときに検証されます。
- メモ フィールドの文字数は最大 2,048 文字です。
- 値セットの説明フィールドには、最大 2,048 文字を指定できます。
代替値セットの制限事項
- 変数ライブラリの代替値セットは、追加された順序で表示されます。 現時点では、UI で並べ替えることはできません。 順序を変更するには、JSON ファイルを直接編集します。
- 各値セットの名前は、変数ライブラリ内で一意である必要があります。
- 変数名は、変数ライブラリ内で一意である必要があります。 異なる項目にある場合は、ワークスペース内に同じ名前の 2 つの変数を含めることができます。
- 変数ライブラリには、いつの時点においても、アクティブな値セットが常に 1 つ、かつ 1 つのみ設定されます。 アクティブな値セットを削除することはできません。 削除するには、まず別の値をアクティブに設定します。 展開パイプラインのステージごとに異なるアクティブな値セットを設定できます。