次の方法で共有


Dev Box チーム カスタマイズ用のタスクを作成する

Microsoft Dev Box チームのカスタマイズのタスクを作成するときに、開発ボックスの特定のアクションを定義して、一貫性のある効率的な開発環境を確保できます。 カタログ内で新しいタスクを作成すると、開発チームに合わせた再利用可能なコンポーネントを定義し、利用可能な構成を制限するガードレールを追加できます。 この記事では、カスタマイズ タスク用のカタログの作成、タスクの追加、デベロッパー センターまたはプロジェクトへのカタログのアタッチについて説明します。

重要

Dev Box のチーム カスタマイズ機能は現在プレビュー段階です。 プレビュー状態の詳細については、「Microsoft Azure プレビューの追加の使用条件」を参照してください。 このドキュメントでは、ベータ版、プレビュー版、またはその他のまだ一般提供されていない Azure 機能に適用される法律条項を規定しています。

前提条件

この記事の手順を実行するには、以下が必要です。

  • 開発ボックス プロジェクトが構成されたデベロッパー センター。
  • GitHub または Azure Repos 上にある既存のカタログ。

カスタマイズを構成するために必要なアクセス許可

開発ボックスにカスタマイズを作成して適用するために必要なアクションを実行するには、次のアクセス許可が必要です:

アクション アクセス許可/ロール
デベロッパー センターでプロジェクト レベルのカタログを有効にする。 サブスクリプションに対する書き込みアクセス権限を持つプラットフォーム エンジニア。
プロジェクトのカタログ同期設定を有効にする。 サブスクリプションに対する書き込みアクセス権限を持つプラットフォーム エンジニア。
プロジェクトにカタログをアタッチする。 プロジェクトに対するプロジェクト管理者または共同作成者のアクセス許可。
カスタマイズ ファイルを作成する。 指定なし。 カスタマイズ ファイルは誰でも作成できます。
開発ボックスの作成時に、開発者ポータルを使って、YAML ファイルのアップロードと適用を行う。 Dev Box ユーザー。
タスクをカタログに追加する。 カタログをホストするリポジトリに追加するアクセス許可。

タスクとは

タスクは、ソフトウェアのインストールなどの特定のアクションを実行します。 各タスクは、1 つ以上の PowerShell スクリプトと、パラメーターを提供してスクリプトの実行方法を定義する task.yaml ファイルで構成されます。 task.yaml ファイルに PowerShell コマンドを含めることもできます。

デベロッパー センターにアタッチされたカタログに、キュレーションされたタスクのコレクションを、各タスクを別個のフォルダーにして格納できます。 Dev Box では、GitHub リポジトリまたは Azure Repos リポジトリのカタログとしての使用がサポートされています。 Dev Box は、カタログの指定されたフォルダーを再帰的にスキャンして、タスク定義を検索します。

WinGet と PowerShell は、カタログを必要とせず、どのデベロッパー センターでも入手できます。 カスタマイズで WinGet または PowerShell のみを使用する場合は、カスタマイズ ファイルでそれらを使用するタスクを作成できます。 他のツールやスクリプトを使用する必要がある場合は、カタログ内にタスクを作成します。

Microsoft からは、カスタマイズを始めるのに役立つクイック スタート カタログが提供されています。 これには、一般的なアクションを定義する既定のタスク セットが含まれます。

  • WinGet パッケージ マネージャーを使用してソフトウェアをインストールする。
  • WinGet 構成を使用して、Desired State Configuration (DSC) をデプロイする。
  • git-clone を使用してリポジトリをクローンする。
  • アプリケーションを構成する (Visual Studio 拡張機能のインストールなど)。
  • PowerShell スクリプトを実行する。

カタログ内でタスクを作成する

ソフトウェアのインストールやスクリプトの実行などのタスクは、カタログとしてまとめられます。 カタログ内でタスクを作成、管理し、新しいタスクを定義して、そのカタログをデベロッパー センターに関連付けます。 Microsoft のクイックスタート カタログを使用すると、ソフトウェアのインストール、DSC のデプロイ、リポジトリの複製、アプリケーションの構成など、一般的なタスクを開始できます。

新しいタスクを定義する

Dev Box チーム カスタマイズ用のタスクを作成および管理するには、次の手順に従います。

  1. タスクを格納するリポジトリを作成します。 必要に応じて、クイック スタート カタログのコピーを独自のリポジトリに作成し、それを使って始めることができます。

  2. 既存の PowerShell スクリプトを変更するか、新しいスクリプトを作成して、リポジトリにタスクを作成します。 タスクの作成を開始するには、デベロッパー センターの例と PowerShell ドキュメントの GitHub リポジトリの例を使用できます。

  3. リポジトリをカタログとしてデベロッパー センターにアタッチします。

  4. カスタマイズ ファイルを記述する」の手順に従って、それらのタスク用の構成ファイルを作成します。

Azure キー コンテナーのシークレットを使用する

Azure キー コンテナーのシークレットは、YAML 構成の中で使用してプライベート リポジトリをクローンすることや、アクセス トークンが必要なカスタム タスクを作成した場合に使用することができます。

デベロッパー センターからキー コンテナーにアクセスできる必要があります。 DevCenter ではサービス タグがサポートされていないため、キー コンテナーが非公開の場合は、信頼済みの Microsoft サービスがファイアウォールをバイパスすることを許可する必要があります。

キー コンテナーのシークレットを YAML 構成の中で使用するために構成するには、以下のことが必要です。

  1. デベロッパー センター プロジェクトのマネージド ID に Key Vault の Key Vault 閲覧者ロールと Key Vault Secrets ユーザー ロールがあることを確認します。

  2. 使用するキー コンテナー シークレットの Key Vault シークレット ユーザー ロールを、開発ボックスのカスタマイズ時にシークレットの使用権を必要とする個々のユーザーまたはユーザー グループに付与します。 ロールを付与されるユーザーまたはグループには、デベロッパー センターのマネージド ID、付与作業者自身のユーザー アカウント、および、開発ボックスのカスタマイズ時にシークレットを必要とするユーザーまたはグループを含める必要があります。

カスタマイズ ファイルでキー コンテナー シークレットを使用する方法の詳細については、カスタマイズ ファイルを使用してプライベート リポジトリを複製する方法に関する記事を参照してください。

カタログをアタッチする

カタログをプロジェクトにアタッチして、開発者チームがタスクにアクセスできるようにします。 カタログをプロジェクトにアタッチするには、「GitHub または Azure Repos からカタログを追加して構成する」の手順に従ってください。