forked from FirebaseExtended/action-hosting-deploy
-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Luke Cheng edited this page Nov 12, 2023
·
5 revisions
Welcome to the doc-site-preview-in-pr wiki!
- 在 repo 的设置 Action 里添加一个 secrets (一个 json 文件)
- 根目录加入在本地运行
firebase
命令之后的firebase.json
文件 - workflow 文件中添加本 action,并配置:
- name: Stage site on Firebase
if: ${{
github.repository == 'chenglu/vigilant-octo-guacamole' &&
github.event.pull_request.head.repo.full_name == github.repository &&
github.event.pull_request.user.login != 'dependabot[bot]' }}
uses: cfug/[email protected]
with:
repoToken: ${{ secrets.GITHUB_TOKEN }}
firebaseServiceAccount: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_TMP_GUACAMOLE }}
expires: 1d
projectId: tmp-guacamole
showDetailedUrls: true
fileExtensionFilter: html
originalPath: "_site/"
replacedPath: "/"
其中:
-
github.repository
为本 action 安装的 repo 地址 -
expires
指的是构建的页面失效时间 -
projectId
是 Firebase 项目 ID
后面四个是本脚本的新增功能:
-
showDetailedUrls
: true 是开启 false 是关闭 -
fileExtensionFilter
: html 对哪些文件后缀进行展示,可以设定多个"md, html, htm"
originalPath: "_site/"
replacedPath: "/"
本工具通过获取 PR 里文件更新的列表进行网页拼凑, 而我们的构建工具一般会将 md 文件放在类似 'src/'、'docs/' 目录下, 因此这两个参数是用于替换源码的位置以及其实际编译之后的 URL 位置。
比如 Flutter 文档的地址就是:
src/cookbook/testing/widget/scrolling.md
实际构建出的页面地址是:
flutter.cn/docs/cookbook/testing/widget/scrolling
因此这里需要填入
- originalPath: "src/"
- replacedPath: "docs/"
uses: cfug/[email protected]
指使用本脚本的 v0.1 版
... 发现了个 Bug ... 去修了先