這個 repo 用來承載公開網站 https://resilience.ocf.tw/ 的內容,
目前主要透過 Git submodule 方式,引用其他兩個專案產出的結果:
web-resilience-test(或同等的測試結果 repo):提供statistic.tsv與各網站 JSON 測試結果web-resilience-test-profile:把測試結果轉成靜態頁面並部署到gh-pages
簡單來說:
測試與統計 在web-resilience-test,
靜態頁面與部署 在web-resilience-test-profile,
這個 repo 則作為實際對外服務的整體網站容器。
這裡整理一條龍流程,方便從這個 repo 追到上游專案。
在 web-resilience-test 專案中:
-
執行單一網站檢測並儲存結果:
cd ../web-resilience-test npm run check --save https://www.example.com -
重新產生統計檔:
node generate_statistic.js
-
如果
test-results/是獨立 submodule,記得在該目錄內 commit / push:cd test-results git add . git commit -m "新增網站測試結果: example.com" git push
在 web-resilience-test-profile 專案中:
-
更新測試結果 submodule:
cd ../web-resilience-test-profile git submodule update --remote test-result -
建置新網站(或全部)對應的靜態頁面:
# 只建 example.com 相關頁面 npm run build example.com # 或建置全部網站 npm run build:all
-
將建置結果部署到
gh-pages分支:npm run deploy
cd ../resilience.ocf.tw
git submodule update --remote web-resilience-test-profile
git add .
git commit -m "update web submodule"
git push部署完成後,web-resilience-test-profile 的 gh-pages 內容會被這個 repo 以 submodule 或對應設定方式掛載,
對外即對應到 https://resilience.ocf.tw/web/ 與 https://resilience.ocf.tw/web/<domain>/ 等路徑。
-
新增網站後沒有出現在網頁:
- 確認在
web-resilience-test有執行npm run check --save並重跑node generate_statistic.js - 確認
test-resultssubmodule 有 commit / push - 確認
web-resilience-test-profile有更新test-resultsubmodule、重新npm run build或npm run build:all,並npm run deploy - 確認本 repo 有正確指向最新的
gh-pages/ 對應 submodule 版本
- 確認在
-
Sitemap 沒更新或只剩少數頁面:
- 確認是用
npm run build:all或npm run generate:sitemap在web-resilience-test-profile中重建 sitemap
- 確認是用
- 測試工具與結果產生:
web-resilience-test - 靜態頁面生成與部署:
web-resilience-test-profile - 對外網站容器(本 repo):
resilience.ocf.tw