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

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

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

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

注意

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

若要使用 Microsoft 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

另请参阅