通过 GitHub 操作部署时使用旧 webpack 包的 Firebase 托管

Firebase hosting using Old webpack bundle when deployed via GitHub Actions

我正在尝试创建一个 GitHub-Action,它首先使用 Webpack 创建一个 bundle.js 文件,然后将我的 index.html 和新创建的 bundle.js 部署到Firebase 托管。

首先,我只是将我的 bundle.js 推送到我的 GitHub 存储库中,但我后来通过“git rm --cache public/bundle.js”删除了它(不确定这是否是确切的命令)并添加了 bundle.js 到我的 .gitignore.

操作确实有效(没有错误或崩溃),但 Firebase 似乎没有使用新打包的 bundle.js,而是使用可能缓存在某处的旧版本?

firebase-hosting-pull-request.yml:

name: Deploy to Firebase Hosting on PR
'on': pull_request
jobs:
  build_and_preview:
    if: '${{ github.event.pull_request.head.repo.full_name == github.repository }}'
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - run: npm ci && npm run build
      - uses: FirebaseExtended/action-hosting-deploy@v0
        with:
          repoToken: '${{ secrets.GITHUB_TOKEN }}'
          firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_PROJECTLIBRARIAN }}'
          projectId: projectlibrarian

npm 运行 build 在这种情况下执行 webpack --mode=production

我的index.js(webpack'到bundle.js)只包含一个日志语句,我更改它来测试GitHub-Action。

Link to the Repo if it helps someone

我想知道是否需要清除某种 GitHub 操作缓存?或者也许我正在使用的 Firebase 部署操作脚本没有按照我认为它应该做的做?最让我困惑的是 Firebase 从哪里得到旧版本的 bundle.js!

好的,我发现了两个解决问题的更改。

在我的工作流程 yaml 中添加 channelId: live 使用“Empty chache and Hard reload”开发人员选项重新加载网站。