使用 Visual Studio 将 Teams 应用部署到云

Teams 工具包有助于将应用中的前端和后端代码部署或上传到 Azure 中的预配云资源。

可以将 Teams 应用部署到以下云资源:

  • Azure 应用服务
  • Azure Functions
  • Azure 存储 (为静态网站)
  • SharePoint

注意

在将应用代码部署到 Azure 云之前,需要完成云资源的预配。

若要使用 Teams 工具包部署 Teams 应用,请执行以下步骤:

  1. 打开 Visual Studio

  2. 选择“ 创建新项目 ”或从列表中打开现有项目。

  3. 选择“项目>Teams 工具包>部署到云”。

    屏幕截图显示了部署到云的步骤。

  4. 在显示的弹出窗口中,选择“ 部署”。

    屏幕截图显示了“部署警告”窗口。 应用将部署到 Azure 云。

使用 Visual Studio 在 Teams 中自定义部署生命周期

若要自定义部署过程,可以编辑 文件中的teamsapp.yml以下deploy部分:

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 执行程序路径 系统路径

cli/runNpxCommand

此操作使用 npx 参数在指定目录下执行命令。 可以使用它来运行 gulp 用于捆绑和打包 sppkg 的命令。

示例

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

参数

参数 说明 必需 默认值
workingDirectory 表示要在其中运行命令的文件夹。 如果输入值是相对路径,则该值相对于 workingDirectory 项目根
args 命令参数 不适用

azureAppService/zipDeploy

此操作使用 zip 部署功能上传项目并将其部署到Azure 应用服务。

示例

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

参数

参数 说明 必需 默认值
workingDirectory 表示要在其中上传项目的文件夹。 如果输入值是相对路径,则该值相对于 workingDirectory 项目根
artifactFolder 表示要在其中上传项目的文件夹。 如果输入值是相对路径,则该值相对于 workingDirectory 不适用
ignoreFile 指定上传期间使用的忽略文件的文件路径。 可以利用此文件从 artifactFolder 中排除某些文件或文件夹。 其语法类似于 Git 的忽略。
resourceId 指示Azure 应用服务的资源 ID。 它在运行预配命令后自动生成。 如果已有Azure 应用服务,可以在Azure 门户中找到其资源 ID。 有关详细信息,请参阅 如何查找资源 ID 不适用
dryRun 如果只想测试上传的准备,但不打算部署它,则可以将 dryRun 参数设置为 true。 这有助于验证打包 zip 文件是否正确。 false
outputZipFile 指示打包的项目文件夹的 zip 文件的路径。 它相对于 workingDirectory。 在部署期间,它会重新构造此文件以反映 中的所有 artifactFolder文件夹和文件,并删除所有不存在的文件或文件夹。 ./.deployment/deployment.zip

azureFunctions/zipDeploy

此操作上传项目并将其部署到Azure Functions使用。 有关详细信息,请参阅 zip 部署功能

示例

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

参数

参数 说明 必需 默认值
workingDirectory 表示要在其中上传项目的文件夹。 如果输入值是相对路径,则该值相对于 workingDirectory 项目根
artifactFolder 表示要在其中上传项目的文件夹。 如果输入值是相对路径,则该值相对于 workingDirectory 不适用
ignoreFile 指定上传期间使用的忽略文件的文件路径。 可以利用此文件从 artifactFolder 中排除某些文件或文件夹。 其语法类似于 Git 的忽略。
resourceId 指示Azure Functions的资源 ID。 它在运行预配命令后自动生成。 如果已有Azure Functions,可以在Azure 门户中找到其资源 ID。 有关详细信息,请参阅 如何查找资源 ID 不适用
dryRun 如果只想测试上传的准备,但不打算部署它,则可以将 dryRun 参数设置为 true。 这有助于验证打包 zip 文件是否正确。 false
outputZipFile 指示打包的项目文件夹的 zip 文件的路径。 它相对于 workingDirectory。 在部署期间,它会重新构造此文件,反映 中的所有 artifactFolder文件夹和文件,并删除所有不存在的文件或文件夹。 ./.deployment/deployment.zip

azureStorage/deploy

此操作会将项目上传并部署到 Azure 存储。

示例

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

参数

参数 说明 必需 默认值
workingDirectory 表示要在其中上传项目的文件夹。 如果输入值是相对路径,则该值相对于 workingDirectory。 项目根
artifactFolder 表示要在其中上传项目的文件夹。 如果输入值是相对路径,则该值相对于 workingDirectory 不适用
ignoreFile 指定上传期间使用的忽略文件的文件路径。 可以利用此文件从 artifactFolder中排除某些文件或文件夹。 其语法类似于 Git 的忽略。
resourceId 指示 Azure 存储的资源 ID。 它在运行预配命令后自动生成。 如果已有 Azure 存储,可以在Azure 门户 (中找到其资源 ID,请参阅此链接,了解) 的详细信息。 NA

另请参阅

使用 Visual Studio 将 Teams 应用部署到云

可以将以下内容部署到云:

  • 选项卡应用(如前端应用)将部署到 Azure 存储,该存储配置为静态 Web 托管。
  • 可以将具有Azure Functions触发器的通知机器人应用部署到Azure Functions。
  • 机器人应用或消息扩展部署到 Azure 应用 服务。

部署后,可以在开始使用之前在 Teams 客户端或 Web 浏览器中预览应用。

使用 Teams 工具包部署 Teams 应用

  1. 打开 Visual Studio

  2. 选择“ 创建新项目 ”或从列表中打开现有项目。

  3. 右键单击项目 “MyTeamsApp4>Teams Toolkit>部署到云...”

    部署到云

    注意

    在此方案中,项目名称为 MyTeamsApp4。

  4. 在显示的弹出窗口中,选择“ 部署”。

    “部署到云”确认对话框

    部署过程完成后,可以看到一个弹出窗口,其中包含已成功部署的确认。 还可以在输出窗口中检查状态。

    “部署到云”弹出窗口

预览应用

若要预览应用,需要创建 Zip 应用包 并上传到 Teams 客户端。

  1. 选择 “项目>Teams 工具包>Zip 应用包”。

  2. 选择“ 本地 ”或“ 适用于 Azure ”以生成 Teams 应用包。

    部署到云弹出窗口。

在 Teams 客户端中预览应用

  1. 选择“ Teams 中的项目>Teams 工具包>预览”。

    在 Teams 客户端中预览 Teams 应用

    现在,自定义应用已上传到 Teams。

    屏幕截图显示 Teams 客户端中的自定义应用上传。

预览应用的另一种方法:

  1. 在“解决方案资源管理器”下右键单击项目“MyTeamsApp4”。

  2. 选择 Teams中的 Teams工具包>预览版,在 Web 浏览器中启动 Teams 应用。

    在 Web 浏览器中预览 Teams 应用

    注意

    “项目”菜单中提供了相同的菜单选项。

    现在,自定义应用已上传到 Teams。

    屏幕截图显示 Teams 客户端中的自定义应用上传。

另请参阅