Microsoft Visual Studio Code を使用して Microsoft Teams アプリをクラウドにデプロイする

Microsoft Teams Toolkit は、アプリ内のフロントエンドとバックエンドのコードを Azure のプロビジョニング済みクラウド リソースにデプロイまたはアップロードするのに役立ちます。

次の種類のクラウド リソースにデプロイできます。

  • Azure アプリ サービス
  • Azure Functions
  • Azure Storage (静的 Web サイトとして)
  • SharePoint

注:

Azure クラウドにアプリ コードをデプロイする前に、 クラウド リソースのプロビジョニングを正常に完了する必要があります。

Teams Toolkit を使用して Teams アプリを展開する

「はじめに」ガイドは、Teams Toolkit を使用してデプロイするのに役立ちます。 次を使用して、Teams アプリをデプロイできます。

Azure アカウントにサインインする

このアカウントを使用して、Microsoft Azure potral にアクセスし、アプリをサポートする新しいクラウド リソースをプロビジョニングします。 アプリを Azure App Service、Azure Functions、または Azure Storage にデプロイする前に、Azure アカウントにサインインする必要があります。

  1. Visual Studio Code を開きます。

  2. アプリを作成したプロジェクト フォルダーを開きます。

  3. サイドバーで [Teams ツールキット] アイコンを選択します。

  4. [Azure にサインイン] を選択します。

    ヒント

    Azure アカウント拡張機能がインストールされ、同じアカウントを使用している場合は、この手順をスキップできます。 他の拡張機能で使用しているのと同じアカウントを使用します。

    既定の Web ブラウザーが開き、アカウントにサインインできます。

  5. 資格情報を使用して Azure アカウントにサインインします。

  6. メッセージが表示されたらブラウザーを閉じて、Visual Studio Code に戻ります。

サイドバーの [アカウント] セクションに、2 つのアカウントが個別に表示されます。 また、使用可能な Azure サブスクリプションの数も一覧表示されます。 使用可能な Azure サブスクリプションが少なくとも 1 つあることを確認します。 ない場合は、サインアウトして別のアカウントを使用します。

これで、アプリを Azure にデプロイする準備が整いました。

これで Teams アプリが作成されました。 次に、Teams Toolkit を使用していずれかのアプリを Azure にデプロイする方法について説明します。

Azure にデプロイする

  1. 左側のウィンドウの [ライフサイクル] セクションから [デプロイ] を選択します。

    [デプロイ] の選択を示すスクリーンショット。

  2. 環境を選択します。 (環境が 1 つだけの場合、この手順はスキップされます)。

  3. [展開] を選択します。

    Visual Studio Code の [配置] の選択を示すスクリーンショット。

  4. サイドバーで [Teams ツールキット] アイコンを選択します。

Teams での展開ライフサイクルのカスタマイズ

デプロイ プロセスをカスタマイズするには、'teamsapp.yml' のデプロイ セクションを編集します。

cli/runNpmCommand

このアクションは、指定されたディレクトリの下でパラメーターを使用して npm コマンドを実行します。

サンプル

  - uses: cli/runNpmCommand
    with:
      workingDirectory: ./src
      args: install

パラメーター

パラメーター 説明 必須 既定値
workingDirectory コマンドを実行するフォルダーを表します。 入力値が相対パスの場合は、workingDirectory に対する相対パスです。 いいえ プロジェクト ルート
Args コマンド引数 はい

cli/runDotnetCommand

このアクションは、指定されたディレクトリの下でパラメーターを使用して dotnet コマンドを実行します。

サンプル

  - uses: cli/runDotnetCommand
    with:
      workingDirectory: ./src
      execPath: /YOU_DOTNET_INSTALL_PATH
      args: publish --configuration Release --runtime win-x86 --self-contained

パラメーター

パラメーター 説明 必須 既定値
workingDirectory コマンドを実行するフォルダーを表します。 入力値が相対パスの場合は、workingDirectory に対する相対パスです。 いいえ プロジェクト ルート
Args npm コマンド引数 はい
execPath Executor パス いいえ システム パス

cli/runNpxCommand

サンプル

  - uses: cli/runNpxCommand
    with:
      workingDirectory: ./src
      args: gulp package-solution --ship --no-color

パラメーター

パラメーター 説明 必須 既定値
workingDirectory コマンドを実行するフォルダーを表します。 入力値が相対パスの場合は、workingDirectory に対する相対パスです。 不要 プロジェクト ルート
Args コマンド引数 はい

azureAppService/zipDeploy

サンプル

  - uses: azureAppService/zipDeploy
    with:
      workingDirectory: ./src
      artifactFolder: .
      ignoreFile: ./.webappignore
      resourceId: ${{BOT_AZURE_APP_SERVICE_RESOURCE_ID}}
      dryRun: false
      outputZipFile: ./.deployment/deployment.zip

パラメーター

パラメーター 説明 必須 既定値
workingDirectory 成果物をアップロードするフォルダーを表します。 入力値が相対パスの場合は、プロジェクト ルートに対する相対パスです。 いいえ プロジェクト ルート
artifactFolder 成果物をアップロードするフォルダーを表します。 入力値が相対パスの場合は、workingDirectory に対する相対パスです。 はい
ignoreFile アップロード時に使用される ignoreFile のファイル パスを指定します。 このファイルは、artifactFolder から特定のファイルまたはフォルダーを除外するために使用できます。 その構文は、Git の無視に似ています。 不要 null
resourceId Azure App Serviceのリソース ID を示します。 プロビジョニング コマンドの実行後に自動的に生成されます。 既にAzure App Serviceがある場合は、そのリソース ID を見つけることができます はい
dryRun アップロードの準備のみをテストし、デプロイする予定がない場合は、dryRun パラメーターを true に設定できます。 これは、パッケージ化 zip ファイルが正しいことを確認するのに役立ちます。 不要 false
outputZipFile パッケージ化された成果物フォルダーの zip ファイルのパスを示します。 これは、workingDirectory を基準にしています。 このファイルは、デプロイ中に再構築され、artifactFolder 内のすべてのフォルダーとファイルが反映され、存在しないファイルまたはフォルダーが削除されます。 いいえ ./.deployment/deployment.zip

azureFunctions/zipDeploy

このアクションは、zip 配置機能を使用してプロジェクトをアップロードしてAzure Functionsにデプロイします。

サンプル

  - uses: azureFunctions/zipDeploy
    with:
      workingDirectory: ./src
      artifactFolder: .
      ignoreFile: ./.webappignore
      resourceId: ${{BOT_AZURE_APP_SERVICE_RESOURCE_ID}}
      dryRun: false
      outputZipFile: ./.deployment/deployment.zip

パラメーター

パラメーター 説明 必須 既定値
workingDirectory 成果物をアップロードするフォルダーを表します。 入力値が相対パスの場合は、プロジェクト ルートに対する相対パスです。 不要 プロジェクト ルート
artifactFolder 成果物をアップロードするフォルダーを表します。 入力値が相対パスの場合は、workingDirectory に対する相対パスです。 はい
ignoreFile アップロード時に使用される ignoreFile のファイル パスを指定します。 このファイルは、artifactFolder から特定のファイルまたはフォルダーを除外するために使用できます。 その構文は、Git の無視に似ています。 不要 null
resourceId Azure Functionsのリソース ID を示します。 プロビジョニング コマンドの実行後に自動的に生成されます。 既にAzure Functionsがある場合は、Azure portalでそのリソース ID を見つけることができます。 はい
dryRun アップロードの準備のみをテストし、デプロイする予定がない場合は、dryRun パラメーターを true に設定できます。 これは、パッケージ化 zip ファイルが正しいことを確認するのに役立ちます。 いいえ false
outputZipFile パッケージ化された成果物フォルダーの zip ファイルのパスを示します。 これは、workingDirectory を基準にしています。 このファイルは、デプロイ中に再構築され、artifactFolder 内のすべてのフォルダーとファイルが反映され、存在しないファイルまたはフォルダーが削除されます。 不要 ./.deployment/deployment.zip

azureStorage/deploy

このアクションにより、プロジェクトがアップロードされ、Azure Storage にデプロイされます。

サンプル

  - uses: azureStorage/deploy
    with:
      workingDirectory: ./src
      artifactFolder: .
      ignoreFile: ./.webappignore
      resourceId: ${{BOT_AZURE_APP_SERVICE_RESOURCE_ID}} 

パラメーター

パラメーター 説明 必須 既定値
workingDirectory 成果物をアップロードするフォルダーを表します。 入力値が相対パスの場合は、プロジェクト ルートに対する相対パスです。 いいえ プロジェクト ルート
artifactFolder 成果物をアップロードするフォルダーを表します。 入力値が相対パスの場合は、workingDirectory に対する相対パスです。 はい
ignoreFile アップロード時に使用される ignoreFile のファイル パスを指定します。 このファイルは、artifactFolder から特定のファイルまたはフォルダーを除外するために使用できます。 その構文は、Git の無視に似ています。 いいえ null
resourceId Azure Functionsのリソース ID を示します。 プロビジョニング コマンドの実行後に自動的に生成されます。 既にAzure Functionsがある場合は、Azure portalでそのリソース ID を見つけることができます。 はい

azureStorage/deploy

このアクションにより、プロジェクトがアップロードされ、Azure Storage にデプロイされます。

サンプル

  - uses: azureStorage/deploy
    with:
      workingDirectory: ./src
      artifactFolder: .
      ignoreFile: ./.webappignore
      resourceId: ${{BOT_AZURE_APP_SERVICE_RESOURCE_ID}} 

パラメーター

パラメーター 説明 必須 既定値
workingDirectory 成果物をアップロードするフォルダーを表します。 入力値が相対パスの場合は、プロジェクト ルートに対する相対パスです。 いいえ プロジェクト ルート
artifactFolder 成果物をアップロードするフォルダーを表します。 入力値が相対パスの場合は、workingDirectory に対する相対パスです。 はい
ignoreFile アップロード時に使用される ignoreFile のファイル パスを指定します。 このファイルは、artifactFolder から特定のファイルまたはフォルダーを除外するために使用できます。 その構文は、Git の無視に似ています。 いいえ null
resourceId Azure Functionsのリソース ID を示します。 プロビジョニング コマンドの実行後に自動的に生成されます。 既にAzure Functionsがある場合は、Azure portalでそのリソース ID を見つけることができます。 はい

spfx/deploy

このアクションは、生成された sppkg を SharePoint アプリ カタログにアップロードしてデプロイします。 テナント アプリ カタログは、手動で作成することも、現在の M365 テナントに存在しない場合は createAppCatalogIfNotExist を true に設定することで作成できます。

サンプル

- uses: spfx/deploy
    with:
      createAppCatalogIfNotExist: false
      packageSolutionPath: ./src/config/package-solution.json

パラメーター

パラメーター 説明 必須 既定値
createAppCatalogIfNotExist 値が true の場合、このアクションでは、存在しない場合にテナント アプリ カタログが最初に作成されます。 いいえ False
packageSolutionPath SPFx プロジェクトのpackage-solution.jsonへのパス。 このアクションでは、ターゲット sppkg を取得するための構成が適用されます。 はい

関連項目