You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置GitHub Actions预发布环境自定义URL为带PR号的指定格式?

GitHub Actions配置指引(适配pr[PR号].azurewebsites.net自定义域名)

Azure应用服务的默认访问域名格式为<应用服务名称>.azurewebsites.net,因此核心配置逻辑是将预发布环境的应用服务名称设置为pr${PR编号},即可自动匹配你需要的URL格式。

1. 配置workflow触发规则

首先确保你的 workflow 仅在PR相关事件下触发,才能正常获取PR编号:

on:
  pull_request:
    types: [opened, synchronize, reopened]
    branches:
      - main # 替换为你的目标分支

2. 新增PR编号获取步骤

在部署任务中添加步骤,获取当前PR的编号并输出:

jobs:
  deploy-preview:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Get PR number
        id: pr
        uses: actions/github-script@v6
        with:
          script: |
            const prNumber = context.payload.pull_request?.number;
            if (!prNumber) throw new Error("Workflow only supports pull request events");
            core.setOutput("pull_request_number", prNumber);

3. 构造应用服务名称变量

在后续步骤中直接使用输出的PR编号构造应用服务名称:

- name: Build React app
        env:
          # 构造你需要的应用服务名称,对应默认域名就是pr{PR号}.azurewebsites.net
          AZURE_WEBAPP_NAME: pr${{ steps.pr.outputs.pull_request_number }}
        run: |
          npm install
          npm run build

4. 部署到Azure应用服务

直接将构造好的应用服务名称传入Azure部署Action即可:

- name: Deploy to Azure Web App
        uses: azure/webapps-deploy@v2
        with:
          app-name: pr${{ steps.pr.outputs.pull_request_number }}
          publish-profile: ${{ secrets.AZURE_PUBLISH_PROFILE }} # 提前在仓库Secrets配置对应Azure发布凭据
          package: ./build # React项目构建后的输出目录

可选:PR关闭时清理临时环境

可以额外添加PR关闭时删除临时应用服务的步骤,避免资源浪费:

- name: Delete preview environment on PR close
        if: github.event.action == 'closed'
        run: |
          az webapp delete --name pr${{ steps.pr.outputs.pull_request_number }} --resource-group your-resource-group-name

该步骤需要提前配置Azure CLI登录权限

内容的提问来源于stack exchange,提问作者arunmmanoharan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 19:15:02