複数の環境を管理する

Teams Toolkitは、複数の環境を作成および管理し、Teams アプリのターゲット環境に成果物をプロビジョニングしてデプロイするための簡単な方法を提供します。

複数の環境で次の操作を実行できます。

  1. 運用環境の前にテスト する: 最新のアプリ開発ライフサイクルでTeamsアプリを運用環境に発行する前に、開発、テスト、ステージングなどの複数の環境を設定できます。

  2. 異なる環境でアプリの動作を管理 する: 運用環境でテレメトリを有効にするなど、複数の環境に対して異なる動作を設定できますが、開発環境では無効にできます

前提条件

ヒント

Microsoft Visual Studio コードでアプリ プロジェクトTeams開かれていることを確認します。

新しい環境を作成する

新しいプロジェクトを作成した後、既定でTeams Toolkit次が作成されます。

  • ローカル コンピューター環境の構成を表す 1 つの local 環境
  • リモート環境またはクラウド環境の構成を表す 1 つの dev 環境

注意

各プロジェクトに使用できる環境は 1 つだけです local が、リモート環境は複数あります。

別のリモート環境を追加するには:

  1. サイドバーで Teams アイコンを選択します
  2. [+Teams: 次の図に示すように、[環境] セクションの下に新しい環境を作成するを選択します。

作成

複数の環境がある場合は、同じ環境を作成するために既存の環境を選択する必要があります。 このコマンドは、選択した既存の環境のファイルの config.<newEnv>.json 内容を azure.parameters.<newEnv>.json 、作成した新しい環境にコピーします。

ターゲット環境を選択する

環境関連のすべての操作に対してターゲット環境を選択できます。 次の図に示すように、複数のリモート環境がある場合、Toolkitはターゲット環境を求め、要求します。

env を追加する

Project フォルダー構造

プロジェクトを作成した後、プロジェクトのフォルダーとファイルをVisual Studio Codeのエクスプローラー領域に表示できます。 カスタム コードに加えて、一部のファイルは、アプリの構成、状態、テンプレートを維持するためにTeams Toolkitによって使用されます。 次の一覧では、ファイルを提供し、複数の環境との関係の概要を示します。

  • .fx/configs: ユーザーがTeams アプリ用にカスタマイズできるファイルを構成する
    • config.<envName>.json: 環境ごとの構成ファイル
    • azure.parameters.<envName>.json: Azure bicep プロビジョニング用の環境ごとのパラメーター ファイル
    • projectSettings.json: すべての環境に適用されるグローバル プロジェクト設定
  • .fx/states: Toolkitによって生成されるプロビジョニング結果
    • state.<envName>.json: 環境ごとのプロビジョニング出力ファイル
    • <env>.userdata: プロビジョニング出力の環境ごとの機密ユーザー データ
  • templates
    • appPackage: アプリ マニフェスト テンプレート ファイル
    • azure: Bicep テンプレート ファイル

リソースのプロビジョニングをカスタマイズする

Teams Toolkitでは、構成ファイルとテンプレート ファイルを変更して、各環境のリソースプロビジョニングをカスタマイズできます。

次の表に、カスタマイズされたリソースプロビジョニングの一般的なシナリオを示します。

シナリオ 場所 説明
Azure リソースをカスタマイズする
  • 下の Bicep ファイル templates/azure
  • .fx/azure.parameters.<envName>.json
ARM パラメーターとテンプレートをカスタマイズする
Teams アプリに既存のAzure AD アプリを再利用する
  • auth のセクション.fx/config.<envName>.json
Teams アプリに既存のAzure AD アプリを使用する
ボット用に既存のAzure AD アプリを再利用する
  • bot のセクション.fx/config.<envName>.json
ボットに既存のAzure AD アプリを使用する
SQLのプロビジョニング中にユーザーの追加をスキップする
  • skipAddingSqlUser 内のプロパティ.fx/config.<envName>.json
SQL データベースのユーザーの追加をスキップする
アプリ マニフェストをカスタマイズする
  • templates/manifest.template.json
  • manifest のセクション .fx/config.<envName>.json
Teams Toolkitでアプリ マニフェストTeamsカスタマイズする

シナリオ

異なる環境でリソースプロビジョニングをカスタマイズするには、4 つのシナリオがあります。


シナリオ 1: さまざまな環境Teamsアプリ名をカスタマイズする

Teamsアプリ名はmyapp(dev)、既定の環境とmyapp(staging)ステージングstaging環境devに設定できます。

カスタマイズするには、次の手順を実行します。

  1. 構成ファイルを開く .fx/configs/config.dev.json
  2. appName >マニフェストのプロパティを短い> に更新します。myapp(dev)

更新プログラム .fx/configs/config.dev.json は次のとおりです。

{
    "$schema": "https://aka.ms/teamsfx-env-config-schema",
    "description": "You can customize the TeamsFx config for different environments.   Visit https://aka.ms/teamsfx-env-config to learn more about this.",
    "manifest": {
        "appName": {
            "short": "myapp(dev)"
            ...
        }
    }
    ...
}
  1. 新しい環境を作成し、存在しない場合は名前を付 staging けます
  2. 構成ファイルを開く .fx/configs/config.staging.json
  3. 同じプロパティを更新する myapp(staging)
  4. プロビジョニング コマンドとstaging環境をdev実行して、リモート環境でアプリ名を更新します。 Teams Toolkitを使用してプロビジョニング コマンドを実行するには、「プロビジョニング」を参照してください

シナリオ 2: さまざまな環境Teamsアプリの説明をカスタマイズする

このシナリオでは、さまざまな環境に対して異なるTeamsアプリの説明を設定する方法について説明します。

  • 既定の環境 devの場合、説明は次のように指定します。 my app description for dev
  • ステージング環境 stagingの場合、説明は次の内容になります。 my app description for staging

カスタマイズするには、次の手順を実行します。

  1. 構成ファイルを開く .fx/configs/config.dev.json
  2. マニフェスト>説明の新しいプロパティ を追加>値を指定して短く する my app description for dev

更新プログラム .fx/configs/config.dev.json は次のとおりです。

{
    "$schema": "https://aka.ms/teamsfx-env-config-schema",
    "description": "You can customize the TeamsFx config for different environments.   Visit https://aka.ms/teamsfx-env-config to learn more about this.",
    "manifest": {
        ...
        "description": {
            "short": "`my app description for dev"
            ...
        }
    }
    ...
}
  1. 新しい環境を作成し、存在しない場合は名前を付 staging けます
  2. 構成ファイルを開く .fx/configs/config.staging.json
  3. 同じプロパティを追加する my app description for staging
  4. アプリ マニフェスト テンプレートTeams開くtemplates/appPackage/manifest.template.json
  5. mustache 構文を使用してファイルを構成するで定義されている 変数 を使用するようにプロパティdescription > shortを更新する{{config.manifest.description.short}}

更新プログラム manifest.template.json は次のとおりです。

{
  "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.11/MicrosoftTeams.schema.json",
  "manifestVersion": "1.11",
  "version": "1.0.0",
  ...
  "description": {
    "short": "{{config.manifest.description.short}}", 
    ...
  },
  ...
}
  1. 環境に対して dev プロビジョニング コマンドを staging 実行して、リモート環境でアプリ名を更新します。 Teams Toolkitを使用してプロビジョニング コマンドを実行するには、「プロビジョニング」を参照してください

シナリオ 3: すべての環境Teamsアプリの説明をカスタマイズする

このシナリオでは、Teams アプリの説明をすべての環境に対して設定するmy app description方法について説明します。

Teams アプリ マニフェスト テンプレートはすべての環境で共有されるため、ターゲットの説明の値を更新できます。

  1. アプリ マニフェスト テンプレートTeams開くtemplates/appPackage/manifest.template.json
  2. ハードコーディングされた文字列 を使用してプロパティdescription > shortを更新する my app description

更新プログラム manifest.template.json は次のとおりです。

{
  "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.11/MicrosoftTeams.schema.json",
  "manifestVersion": "1.11",
  "version": "1.0.0",
  ...
  "description": {
    "short": "my app description",
    ...
  },
  ...
}
  1. すべての 環境に対してプロビジョニング コマンドを実行して、リモート環境でアプリ名を更新します。 Teams Toolkitを使用してプロビジョニング コマンドを実行するには、「プロビジョニング」を参照してください


シナリオ 4: さまざまな環境用に Azure リソースをカスタマイズする fx/configs/azure.parameters に対応する環境を編集することで、Azure 関数名を指定するなど、環境ごとに Azure リソースをカスタマイズできます。{env}.json. ファイル。

Bicep テンプレートとパラメーター ファイルの詳細については、「 クラウド リソース

を br <プロビジョニングする」を参照してください。

関連項目