项目

本文档有多个版本。请选择最适合您的选项。

UI
Database
Tiered

步骤 3:将 ABP 应用程序部署到 Azure Web 应用服务

使用 GitHub Actions 将 ABP 应用程序部署到 Azure Web 应用服务

  1. 如果尚未创建,请为您的项目创建一个新的 GitHub 仓库。

  2. 将您的项目推送到新的 GitHub 仓库。

  3. 导航到您的 GitHub 仓库的 Actions 标签页。

  4. 点击 set up a workflow yourself 按钮。

    设置此工作流

  5. 将以下内容复制到打开的文件中并提交。

# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
# More GitHub Actions for Azure: https://github.com/Azure/actions

name: Build and deploy ASP.Net Core with MVC to Azure Web App

on:
push:
    branches:
    - main
workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v4

    - name: Set up .NET Core
        uses: actions/setup-dotnet@v4
        with:
        dotnet-version: '9.x'
        include-prerelease: true

    - name: Install ABP CLI
        run: |
          dotnet tool install -g Volo.Abp.Cli
          abp install-libs
        shell: bash
    
      - name: Build with dotnet
        run: dotnet build --configuration Release

    - name: Run migrations
        run: dotnet run -- "${{ secrets.CONNECTION_STRING }}" # 在仓库设置中将您的连接字符串设置为密钥
        working-directory: ./src/yourapp.DbMigrator # 替换为您的项目名

    - name: dotnet publish
        run: dotnet publish -c Release -o ${{env.DOTNET_ROOT}}/myapp
        working-directory: ./src/yourapp.Web # 替换为您的项目名

    - name: Generate openiddict.pfx
        run: dotnet dev-certs https -v -ep ${{env.DOTNET_ROOT}}/myapp/openiddict.pfx -p 2D7AA457-5D33-48D6-936F-C48E5EF468ED # 替换为您的密码

    - name: Upload artifact for deployment job
        uses: actions/upload-artifact@v4
        with:
        name: .net-app
        path: ${{env.DOTNET_ROOT}}/myapp

deploy:
    runs-on: ubuntu-latest
    needs: build
    environment:
    name: 'Production'
    url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}

    steps:
    - name: Download artifact from build job
        uses: actions/download-artifact@v4
        with:
        name: .net-app

    - name: Deploy to Azure Web App
        id: deploy-to-webapp
        uses: azure/webapps-deploy@v3
        with:
        app-name: 'yourapp' # 替换为您的 Azure Web 应用名称
        slot-name: 'Production'
        publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE }} # 在仓库设置中将您的 Azure Web App 发布配置文件设置为密钥
        package: .
  1. 导航到您的 GitHub 仓库的 Settings 标签页。

  2. 点击 Secrets 按钮。

  3. 点击 New repository secret 按钮。

    新建仓库密钥

  4. 添加以下密钥:

  • CONNECTION_STRING: 您的数据库连接字符串。

    Azure SQL 连接字符串示例:

    Azure sql 连接字符串

  • AZUREAPPSERVICE_PUBLISHPROFILE: 您的 Azure Web 应用服务的发布配置文件。您可以从 Azure Web 应用服务的 Overview 标签页下载。

    发布配置文件

  1. 导航到您的 GitHub 仓库的 Actions 标签页。

  2. 点击 Deploy to Azure Web App 工作流。

    部署到 Azure Web 应用

  3. 点击 Run workflow 按钮。

    运行工作流

  4. 导航到 Web 应用 URL 以查看已部署的应用程序。

    Azure Web 应用

如果应用程序部署失败,您可以点击 Deploy to Azure Web App 工作流,然后点击 deploy-to-webapp 作业来查看部署日志。

如果部署成功,但在导航到 Web 应用 URL 时出现错误,您可以点击 Azure Web 应用服务 Overview 标签页上的 Logs 按钮来查看 Web 应用的日志。

最后,您的应用程序已具备 CI/CD 流水线。每次将代码推送到主分支时,您的应用程序将自动部署到 Azure Web 应用服务。

下一步?

在本文档中