我想将 Flutter Web 部署到我的 firebase 托管,到目前为止我没有任何问题,但是当我引入需要令牌的包时,它无法工作并在步骤“- 使用:FirebaseExtended/action-hosting-deploy@v0”上抛出错误
假设我的项目名称是 example_web,需要 github token 的包是 example_package
我的 Flutter example_web/pubspec.yaml
#the third party package that requires the token
example_package:
git:
url: https://github.com/example/example.git
ref: main
其中 example_package 需要 github 个人访问令牌
我的 github 操作是 firebase-hosting-merge.yml(请注意,如果我在项目中没有使用 example_package 并且应用程序已成功部署到 firebase 托管,那么这可以完美工作)
name: Deploy to Firebase Hosting on merge
'on':
push:
branches:
- release
jobs:
build_and_deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
flutter-version: '3.16.5'
channel: 'stable'
- uses: FirebaseExtended/action-hosting-deploy@v0
with:
repoToken: '${{ secrets.GITHUB_TOKEN }}'
firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_EXAMPLE_WEBSITE }}'
channelId: live
projectId: example-web-project-id
env:
FIREBASE_CLI_EXPERIMENTS: webframeworks
现在我在 example_web 存储库中引入了一个秘密,并放入个人访问令牌并将其命名为 Examples_PACKAGE_TOKEN
现在,我需要在 firebase-hosting-merge.yml 或 pubspec.yaml 中调整哪一部分(如果有)。
我尝试调整
pubspec.yaml
example_package:
git:
url: https://{EXAMPLE_PACKAGE_TOKEN}@github.com/example/example.git
ref: main
和 firebase-hosting-merge.yml 我在 actions/checkout@v3 之后添加了这部分
#rest of the code
steps:
- uses: actions/checkout@v3
- name: Replace placeholder with actual value
run: |
sed -i "s|{EXAMPLE_PACKAGE_TOKEN}|${{ secrets.EXAMPLE_PACKAGE_TOKEN}}|g" pubspec.yaml
- uses: subosito/flutter-action@v2
#rest of the code
但是没用
而不是
- uses: FirebaseExtended/action-hosting-deploy@v0
试试这个
- uses: w9jds/firebase-action@master
with:
args: deploy --only hosting