我已在Azure Portal中创建了一个静态Web应用,以承载我的Angular应用。创建向导在我的Azure Repo中自动生成了一个管道。如果我转到Azure DevOps,我可以看到管道的YAML,如下所示:
name: Azure Static Web Apps CI/CD
pr:
branches:
include:
- master
trigger:
branches:
include:
- master
jobs:
- job: build_and_deploy_job
displayName: Build and Deploy Job
condition: or(eq(variables['Build.Reason'], 'Manual'),or(eq(variables['Build.Reason'], 'PullRequest'),eq(variables['Build.Reason'], 'IndividualCI')))
pool:
vmImage: ubuntu-latest
variables:
- group: Azure-Static-Web-Apps-purple-bush-094d6d303-variable-group
steps:
- checkout: self
submodules: true
- task: AzureStaticWebApp@0
inputs:
azure_static_web_apps_api_token: $(AZURE_STATIC_WEB_APPS_API_TOKEN_PURPLE_BUSH_094D6D303)
###### Repository/Build Configurations - These values can be configured to match your app requirements. ######
# For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig
app_location: "/" # App source code path
api_location: "" # Api source code path - optional
output_location: "dist/propworx-portal" # Built app content directory - optional
###### End of Repository/Build Configurations ######
这将构建repo的master分支并将其发布到生产环境。
现在我是一个真正的后端开发人员,以前只使用过Azure Web Apps。这是我第一次使用Azure静态Web Apps。在Azure Web Apps中,我会创建部署槽,并将我的临时分支部署到我的临时槽。测试后,我会交换临时槽和生产槽。
我很难弄清楚如何使用Azure静态Web应用程序重现某些内容(至少是类似的内容)。Azure门户上没有“部署槽”部分。如果我理解正确的话,会根据我的存储库分支自动创建槽?(以及我为它们创建的管道?)。所以,我认为我需要创建一个新的管道来构建和发布我的staging分支到staging槽。但是,当我试着这么做的时候(通过创建新管道并复制粘贴主管道的YAML),将YAML中的“分支”从“master”更改为“staging”,并手动运行管道,它仍然部署到与其他主管道相同的URL。(例如,到一个不同的槽)。另外,当我把提交推送到暂存分支时,流水线不会自动运行,而当我把提交推送到主分支时,主流水线是这样运行的。
任何指导/提示/指针都将非常感谢!谢谢。
1条答案
按热度按时间qij5mzcb1#
静态Web应用程序没有部署槽,但有一种称为预览环境的东西。您可以使用deployment_environment输入控制部署任务部署到哪个环境。
我还没有真正使用环境分支那么多,但我猜最接近的等效部署从一个staging分支到staging槽,将deployment_environment设置为任何分支,你会部署到生产槽与web应用程序,有管道触发器从分支和staging分支.