複数の環境を管理する
Teams Toolkitは、複数の環境を作成および管理し、Teams アプリのターゲット環境に成果物をプロビジョニングしてデプロイするための簡単な方法を提供します。
複数の環境で次の操作を実行できます。
運用環境の前にテスト する: 最新のアプリ開発ライフサイクルでTeamsアプリを運用環境に発行する前に、開発、テスト、ステージングなどの複数の環境を設定できます。
異なる環境でアプリの動作を管理 する: 運用環境でテレメトリを有効にするなど、複数の環境に対して異なる動作を設定できますが、開発環境では無効にできます
前提条件
- Teams Toolkit の最新バージョンをインストールします。
ヒント
Microsoft Visual Studio コードでアプリ プロジェクトTeams開かれていることを確認します。
新しい環境を作成する
新しいプロジェクトを作成した後、既定でTeams Toolkit次が作成されます。
- ローカル コンピューター環境の構成を表す 1 つの
local
環境 - リモート環境またはクラウド環境の構成を表す 1 つの
dev
環境
注意
各プロジェクトに使用できる環境は 1 つだけです local
が、リモート環境は複数あります。
別のリモート環境を追加するには:
- サイドバーで Teams アイコンを選択します
- [+Teams: 次の図に示すように、[環境] セクションの下に新しい環境を作成するを選択します。
複数の環境がある場合は、同じ環境を作成するために既存の環境を選択する必要があります。 このコマンドは、選択した既存の環境のファイルの config.<newEnv>.json
内容を azure.parameters.<newEnv>.json
、作成した新しい環境にコピーします。
ターゲット環境を選択する
環境関連のすべての操作に対してターゲット環境を選択できます。 次の図に示すように、複数のリモート環境がある場合、Toolkitはターゲット環境を求め、要求します。
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 リソースをカスタマイズする |
|
ARM パラメーターとテンプレートをカスタマイズする |
Teams アプリに既存のAzure AD アプリを再利用する |
|
Teams アプリに既存のAzure AD アプリを使用する |
ボット用に既存のAzure AD アプリを再利用する |
|
ボットに既存のAzure AD アプリを使用する |
SQLのプロビジョニング中にユーザーの追加をスキップする |
|
SQL データベースのユーザーの追加をスキップする |
アプリ マニフェストをカスタマイズする |
|
Teams Toolkitでアプリ マニフェストTeamsカスタマイズする |
シナリオ
異なる環境でリソースプロビジョニングをカスタマイズするには、4 つのシナリオがあります。
Teamsアプリ名はmyapp(dev)
、既定の環境とmyapp(staging)
ステージングstaging
環境dev
に設定できます。
カスタマイズするには、次の手順を実行します。
- 構成ファイルを開く
.fx/configs/config.dev.json
- 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)"
...
}
}
...
}
- 新しい環境を作成し、存在しない場合は名前を付
staging
けます - 構成ファイルを開く
.fx/configs/config.staging.json
- 同じプロパティを更新する
myapp(staging)
- プロビジョニング コマンドと
staging
環境をdev
実行して、リモート環境でアプリ名を更新します。 Teams Toolkitを使用してプロビジョニング コマンドを実行するには、「プロビジョニング」を参照してください。
シナリオ 2: さまざまな環境Teamsアプリの説明をカスタマイズする
このシナリオでは、さまざまな環境に対して異なるTeamsアプリの説明を設定する方法について説明します。
- 既定の環境
dev
の場合、説明は次のように指定します。my app description for dev
- ステージング環境
staging
の場合、説明は次の内容になります。my app description for staging
カスタマイズするには、次の手順を実行します。
- 構成ファイルを開く
.fx/configs/config.dev.json
- マニフェスト>説明の新しいプロパティ を追加>値を指定して短く する
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"
...
}
}
...
}
- 新しい環境を作成し、存在しない場合は名前を付
staging
けます - 構成ファイルを開く
.fx/configs/config.staging.json
- 同じプロパティを追加する
my app description for staging
- アプリ マニフェスト テンプレートTeams開く
templates/appPackage/manifest.template.json
- 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}}",
...
},
...
}
- 環境に対して
dev
プロビジョニング コマンドをstaging
実行して、リモート環境でアプリ名を更新します。 Teams Toolkitを使用してプロビジョニング コマンドを実行するには、「プロビジョニング」を参照してください。
シナリオ 3: すべての環境Teamsアプリの説明をカスタマイズする
このシナリオでは、Teams アプリの説明をすべての環境に対して設定するmy app description
方法について説明します。
Teams アプリ マニフェスト テンプレートはすべての環境で共有されるため、ターゲットの説明の値を更新できます。
- アプリ マニフェスト テンプレートTeams開く
templates/appPackage/manifest.template.json
- ハードコーディングされた文字列 を使用してプロパティ
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",
...
},
...
}
- すべての 環境に対してプロビジョニング コマンドを実行して、リモート環境でアプリ名を更新します。 Teams Toolkitを使用してプロビジョニング コマンドを実行するには、「プロビジョニング」を参照してください。
シナリオ 4: さまざまな環境用に Azure リソースをカスタマイズする
fx/configs/azure.parameters に対応する環境を編集することで、Azure 関数名を指定するなど、環境ごとに Azure リソースをカスタマイズできます。{env}.json. ファイル。Bicep テンプレートとパラメーター ファイルの詳細については、「 クラウド リソース