ユーザーカスタマイズ ファイルをアップロードすることで、Microsoft Dev Box をカスタマイズできます。 ユーザー カスタマイズ ファイルを使用すると、好みの個人用設定とアプリを使用して開発ボックスを構成できるため、コーディングをより迅速に開始できます。 この記事では、Visual Studio Code を使用して、ローカル ドライブまたはリポジトリからユーザーカスタマイズ ファイルを作成、テスト、アップロードする方法について説明します。 また、ファイルを検証し、プロジェクトのカスタマイズ設定を管理する方法についても説明します。
Microsoft Dev Box のカスタマイズは、チームのカスタマイズによってチームの共有構成が作成され、ユーザーカスタマイズによって個々の開発者用の個人用構成が作成されるという 2 つの方法で使用できます。 次の表に、2 種類のカスタマイズの違いを示します。
特徴 | チームのカスタマイズ | ユーザーのカスタマイズ |
---|---|---|
設定先 | 開発ボックス プール | 開発ボックス |
カスタマイズの適用対象 | プール内のすべての開発ボックス | 個々の開発ボックス |
簡単に共有可能 | イエス | いいえ |
カスタマイズ ファイル名 | Imagedefinition.yaml | myfilename.yaml または workload.yaml |
情報源 | カタログ | アップロードまたは個人用リポジトリ |
キー コンテナーのシークレットをサポート | イエス | イエス |
ユーザーのカスタマイズは、開発者が会社のガードレールに準拠していることを保証するのに役立ちます。開発者は、カタログを通じて事前に承認されたカスタム タスクのみをカスタマイズ ファイルで使用できます。 Standard Dev Box ユーザーは、組み込みの PowerShell タスクと WinGet タスクをシステム コンテキストで実行できないため、特権のエスカレーションを回避できます。
ユーザーのカスタマイズは、プロジェクト レベルで有効または無効にすることができます。 プロジェクトを作成すると、ユーザーのカスタマイズは既定でオンになります。
[前提条件]
この記事の手順を完了するには、次のことが条件となります。
- 開発ボックスを作成できるように 、開発ボックス定義、開発ボックス プール、開発ボックス プロジェクト を含むデベロッパー センターを設定します。
- 少なくとも 1 つのプロジェクトの Dev Box Users セキュリティ グループに参加します。
- カスタマイズ ファイルで使用するタスクを含むカタログをデベロッパー センターにアタッチします。 カタログがない場合は、「 GitHub または Azure Repos からカタログを追加して構成する」を参照してください。
カスタマイズを設定するために必要なアクセス許可
開発ボックスにカスタマイズを作成して適用するには、次のアクセス許可が必要です。
アクション | 権限またはロール |
---|---|
プロジェクトでユーザーのカスタマイズを有効または無効にする | プロジェクトに対する書き込み権限。 |
カスタマイズ ファイルを作成する | 指定なし。 カスタマイズ ファイルは誰でも作成できます。 |
開発者ポータルを使用して、開発ボックスの作成時に YAML ファイルをアップロードして適用する | Dev Box ユーザー |
ユーザー カスタマイズ ファイルを作成する
VS Code でカスタマイズ ファイルを作成および管理します。 VS Code の Microsoft Dev Box 拡張機能を使用して、アタッチされたカタログ内のタスクを検出し、カスタマイズ ファイルをテストします。
テスト用の開発ボックスを作成するか、既存の開発ボックスを使用します。
テスト開発ボックスに VS Code をインストールし、 Dev Box 拡張機能をインストールします。
サンプル リポジトリから サンプル YAML カスタマイズ ファイル をダウンロードし、VS Code で開きます。
コマンド パレットを使用して、カタログ内の使用可能なタスクを検出します。 [ 表示>コマンド パレット>Dev ボックス: この開発ボックスで使用可能なタスクの一覧を選択します。
コマンド パレットを使用して、VS Code でカスタマイズをテストします。 [ 表示>コマンド パレット>Dev ボックス: カスタマイズ タスクの適用を選択します。
カスタマイズ ファイルが実行され、指定したタスクがテスト開発ボックスに適用されます。 変更を検査し、タスクの実行中にエラーまたは警告がないか VS Code ターミナルを確認します。
カスタマイズ ファイルが正常に実行されたら、カタログにアップロードします。
省略可能: 既存の WinGet 構成ファイルを使用して開発ボックスをカスタマイズする
WinGet 構成では、コードとしての構成アプローチを使用して、Windows 環境をコーディングする準備をするために必要な一意のソフトウェアと構成設定のセットを定義します。 これらの構成ファイルを使用して、Microsoft 提供のクイック スタート カタログに含まれる WinGet タスクを使用して開発ボックスを設定することもできます。
この例では、既存の WinGet Desired State Configuration (DSC) ファイルを使用する開発ボックスカスタマイズ ファイルを示します。
tasks:
- name: winget
parameters:
configure: "projectConfiguration.dsc.yaml"
詳細については、 WinGet の構成に関するページを参照してください。
ユーザー カスタマイズ ファイルを使用して開発ボックスを作成する
開発ボックスの作成時にローカル ドライブからアップロードするか、リポジトリからダウンロードして、個々のカスタマイズ ファイルを使用します。 リポジトリに格納されているカスタマイズ ファイルには workload.yaml という名前を付ける必要があります。 アップロード用にローカルに保存されるカスタマイズ ファイルには 、myfilename.yaml という名前を付ける必要があります。
ファイルをアップロードする
開発者ポータルで、[新規>新規開発] ボックスを選択します。
[ 開発ボックスの追加 ] ウィンドウで、開発ボックスの詳細を追加します。
[ カスタマイズの適用] を選択し、[続行] を選択 します。
[ カスタマイズ ファイルのアップロード] を選択し、[ ファイルからカスタマイズを追加] を選択し、 myfilename.yaml ファイルを参照して選択します。
カスタマイズ ファイル内のタスクが正しく適用されていることを確認するには、続行する前に検証します。 [検証] を選択します。
開発ボックスの作成の概要を確認し、[ 作成] を選択します。
リポジトリからファイルを取得する
開発者ポータルで、[新規>新規開発] ボックスを選択します。
[ 開発ボックスの追加 ] ウィンドウで、開発ボックスの詳細を追加します。
[ カスタマイズの適用] を選択し、[続行] を選択 します。
[ カスタマイズ ファイルのアップロード] を選択し、[ リポジトリからカスタマイズ ファイルを選択] を選択し、 workload.yaml ファイルを格納するリポジトリの URL を入力します。
カスタマイズ ファイル内のタスクが正しく適用されることを確認するには、続行する前に検証します。 [検証] を選択します。
開発ボックスの作成の概要を確認し、[ 作成] を選択します。
ユーザーのカスタマイズを無効にする
ユーザーのカスタマイズはプロジェクト レベルで制御され、既定で有効になります。 プロジェクトの作成時または作成後に無効にすることができます。 無効にすると、開発者は独自のカスタマイズ ファイルを新しい開発ボックスに適用できません。 ユーザーのカスタマイズを有効にしても、既存のプロジェクト ガードレールはバイパスされません。開発者は、アタッチされたカタログで提供されているタスクのみを使用でき、管理者がカタログに管理タスクを明示的に含めない限り、管理者特権でタスクを実行することはできません。
現在、プロジェクトのユーザーカスタマイズを無効にしても、開発者は開発ボックスの作成時にユーザーカスタマイズファイルをアップロードできます。 ただし、検証プロセスは失敗し、カスタマイズは開発ボックスに適用されません。
ユーザーカスタマイズが無効になっているプロジェクトでユーザーカスタマイズを含む開発ボックスを作成すると、開発者ポータルに次の内容が表示されます。
カスタマイズの適用中にエラーが発生したことを示すメッセージが新しい開発ボックス タイルに表示されます。
詳細については、管理者に問い合わせてください。
開発ボックスは、ユーザーのカスタマイズなしで作成されます。