Microsoft Dev Box のチーム カスタマイズ
開発者が新しいプロジェクトやチームを立ち上げるのは、複雑で時間がかかります。 Microsoft Dev Box のチーム カスタマイズは、開発者環境のセットアップを効率化します。 チーム カスタマイズを使用すると、必要なアプリケーション、ツール、リポジトリ、コード ライブラリ、パッケージ、ビルド スクリプトを使用して、すぐにコード化できるワークステーションを構成できます。 チーム カスタマイズでは、Packer や Azure 仮想マシン (VM) イメージ テンプレートのようなイメージング ソリューションのセットアップに投資しなくても、開発チームごとに共有の Dev Box 構成を定義できます。 セントラル プラットフォーム エンジニアリング チームが、Dev Box 構成管理を使用するチームに委任できるようにする軽量な代替手段が提供されます。 また、チーム カスタマイズでは、インフラストラクチャを追加したり、イメージ テンプレートを管理したりすることなく、同じカスタマイズ ファイルを使用してカスタム イメージにフラット化することで、チームの Dev Box のカスタマイズを最適化するための組み込みの方法が提供されます。
重要
Dev Box のチーム カスタマイズは現在プレビュー段階です。 プレビュー状態の詳細については、「Microsoft Azure プレビューの追加の使用条件」を参照してください。 このドキュメントでは、ベータ版、プレビュー版、またはその他のまだ一般提供されていない Azure 機能に適用される法律条項を規定しています。
Dev Box のチーム カスタマイズのしくみ
Dev Box のチーム カスタマイズを組織用に構成する場合、慎重な計画と十分な情報を得たうえでの意思決定が不可欠です。 次の図は、プロセスの概要と重要な意思決定ポイントを示しています。
- デベロッパー センターの構成:
- プロジェクト レベルのカタログを有効にします。
- プロジェクト管理者にアクセス許可を割り当てます。
- 再利用可能なカスタム コンポーネントでカタログを使用するかどうかの決定:
- デベロッパー センター
- PowerShell または WinGet ステートメント。
- 独自のカタログ
- Azure Repos または GitHub にホストします。
- タスクの追加。
- デベロッパー センターやプロジェクトにアタッチします。
- デベロッパー センター
- チーム カスタマイズ ファイルの作成:
- imagedefinition.yaml というチーム カスタマイズ ファイルを作成します。
- 開発ボックス プールでのイメージの指定:
- 開発ボックス プールを作成または変更し、イメージ定義として imagedefinition.yaml を指定します。
- イメージ定義の使用方法の選択:
- チーム カスタマイズに最適化します。
- 開発ボックスを作成するたびにビルドします。
- 開発ボックス プールの作成:
- 開発者ポータルを使用して、構成済みのプールから開発ボックスを作成します。
カスタマイズ ファイルとは
Dev Box のカスタマイズでは、yaml 形式のファイルを使って、新しい開発ボックスの作成時にカタログから適用するタスクの一覧を指定します。 これらのタスクは、カタログ タスクを特定し、パラメーター (インストールするソフトウェアの名前など) を指定するものです。 その後、開発者はカスタマイズ ファイルを使って新しい開発ボックスを作成できます。
Azure Key Vault のシークレットは、カスタマイズ ファイルの中で使用してプライベート リポジトリをクローンすることや、アクセス トークンが必要なカスタム タスクを作成した場合に使用することができます。
タスクとは
Dev Box のカスタマイズ タスクは PowerShell スクリプトのラッパーであり、プラットフォーム チームとして各チームがカスタマイズで使用できる再利用可能なコンポーネントを定義できます。 WinGet と PowerShell は、プリミティブ タスクとしてすぐに利用できます。
タスクを作成する場合は、システム コンテキストで実行する必要があるものと、サインイン後にユーザー コンテキストで実行できるものを決定します。 チーム カスタマイズは、システム コンテキストとユーザー コンテキスト (サインイン後) で実行できます。 個別カスタマイズは、ユーザー コンテキストでのみ実行できます。
チーム カスタマイズと個別カスタマイズの違い
個人の開発者は、Dev Box の作成時に yaml ベースのカスタマイズ ファイルをアタッチすることで、Dev Box 上の開発環境を制御できます。 個別カスタマイズは、個人用の設定やアプリにのみ使用してください。 個別カスタマイズ ファイルで指定されたタスクは、サインイン後のユーザー コンテキストでのみ実行されます。 開発者チームで共通の yaml ファイルを共有することはできますが、この方法は非効率的でエラーが発生しやすく、コンプライアンス ポリシーに反する可能性があります。 Dev Box のチーム カスタマイズでは、開発者チーム リーダー、プロジェクト管理者、デベロッパー センター管理者が Dev Box プールのカスタマイズ ファイルを事前構成するためのワークフローが提供されます。 このようにして、開発ボックスを作成する開発者は、自分でカスタマイズ ファイルを見つけてアップロードする必要がなくなります。
キーワード
Dev Box のチーム カスタマイズを使用する場合は、次の重要な用語についてよく理解しておく必要があります。
- Catalog
- コード リポジトリ、またはカスタマイズ ファイルの個別のリポジトリに保存できます。
- GitHub または Azure Repos でホストされています。
- デベロッパー センターまたはプロジェクトにアタッチして、開発者チームがタスクにアクセスできるようにします。
- タスク
- ソフトウェアのインストールなどの特定のアクションを実行します。
- 1 つ以上の PowerShell スクリプトと task.yaml ファイルで構成されます。
- カスタマイズ ファイル
- 開発ボックスのタスクを定義する yaml ベースのファイル。
- チーム全体で共有する場合は、イメージ定義になり、ベース開発ボックスの画像とそのカスタマイズ オプションを指定します。