我正在开发一个托管在 GitHub 上的项目,并使用带有 GitHub Actions 的构建管道。虽然构建管道成功执行,但我对 index.html 文件所做的更改不会反映在我的实时网站上。以下是我所经历的细分:
我想了解为什么对 index.html 的更改没有反映在我的实时网站上,以及如何确保构建管道成功部署更新的代码。任何指导或建议将不胜感激!
我已经尝试清除浏览器缓存并重新部署网站,但更改仍然没有反映。 环境:
部署设置:我使用 Azure CDN 和自定义域进行网站部署。 构建管道:我在工作流程 YAML 文件中使用以下操作: actions/checkout@v4(如警告所示) azure/login@v2(如警告所示) 工作流程配置:我从微软官方文档复制了工作流程配置:链接
我的frontend.yml文件:
name: deploy_frontend
在: 推: 分支:[主要] 路径: - '前端/**'
工作: 建造: 运行:ubuntu-latest 脚步: - 使用:actions/checkout@v4 - 使用:azure/login@v2 和: 信用:${{ Secrets.AZURE_CREDENTIALS }}
- name: Upload to blob storage
uses: azure/CLI@v1
with:
inlineScript: |
az storage blob upload-batch --account-name azureresumefaizan --auth-mode key -d '$web' -s frontend/
- name: Purge CDN endpoint
uses: azure/CLI@v1
with:
inlineScript: |
az cdn endpoint purge --content-paths "/*" --profile-name "azureresumefaizanshaikh" --name "azureresumefaizanshaikh" --resource-group "faizresume-rg"
- name: logout
run: |
az logout
if: always()
网站不反映代码更改
因为您没有覆盖对 blob 容器的更改。 您需要在命令中使用
--overwrite true
来更新更改。
这对我有用
name: deploy_frontend
# Deploys when push is made from the frontend folder
on:
push:
branches:
- main
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: azure login
uses: azure/login@v1
with:
creds: ${{ secrets.AZURE_CREDENTIALS }}
- name: Upload to blob storage
uses: azure/CLI@v1
with:
inlineScript: |
az storage blob upload-batch --account-name blobstaticapp --account-key ${{vars.KEY}} -d '$web' -s frontend/ --overwrite true
- name: Purge CDN endpoint
uses: azure/CLI@v1
with:
inlineScript: |
az cdn endpoint purge --content-paths "/*" --profile-name "blobcdn" --name "blobstaticcdn" --resource-group ""
# Azure logout
- name: logout
run: |
az logout
if: always()
OUTPUT
:我使用了你的 git 存储库并克隆了。
原始静态网站网址:
之前:
GitHub 构建和部署:
之后: