首页 > 解决方案 > 为什么使用 github 操作和 azure cli 部署我的静态站点被破坏?

问题描述

我正在尝试将我的静态站点部署到 Azure 存储,但在正确打开站点时遇到问题,即使 github 操作执行时没有错误并且文件似乎就位。在浏览器中,index.html似乎与 css 和 js 一起加载....但该站点无法正常运行。控制台显示js失败: 在此处输入图像描述

奇怪的是,我在 vscode 中使用azure 存储扩展或使用 azure cli没有任何问题:

az storage blob upload-batch --account-name <ACCOUNT_NAME> -d '$web' -s ./dist --connection-string '<CONNECTION_STRING>'

当我从笔记本电脑部署时。

我的 github 操作如下所示:

name: Blob storage website CI
on:
  push:
    branches: [master]
  pull_request:
    branches: [master]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: npm install
        run: |
          npm install
      - name: npm build
        run: |
          npm run build
      - name: Azure Login
        uses: azure/login@v1
        with:
          creds: ${{ secrets.AZURE_CREDENTIALS }}
      - name: Azure CLI script
        uses: azure/CLI@v1
        with:
          azcliversion: latest
          inlineScript: |
            az storage blob upload-batch --account-name <ACCOUNT_NAME> -d '$web' -s ./dist --connection-string '${{ secrets.BLOB_STORAGE_CONNECTION_STRING }}'
          # Azure logout
      - name: logout
        run: |
          az logout

基于本文here

我认为这可能是由于 azure cli 版本,但我尝试过的版本都没有产生任何影响。

任何想法为什么我的网站使用 github 操作和 azure cli 进行部署而损坏?

标签: vue.jsazure-storagegithub-actionsazure-clistatic-site

解决方案


对于任何感兴趣的人 - 我在 GitHub Action 的构建过程中缺少环境变量。我能够在不.env使用 github 机密签入文件的情况下通过这些。

现在有一个步骤是创建一个.env,

- name: Set Environment Variables
        run: |
          touch .env
          echo ENVIRONMENT_VARIABLE=${{secrets.ENVIRONMENT_VARIABLE}} >> .env

另一个删除它:

- name: Remove Environment Variables
        run: |
          rm .env

推荐阅读