部署 Production URL
用無痕視窗與他人裝置開啟自己的 HTTPS 網址。
CHAPTER 28 · 240 MINUTES
本章共 240 分鐘:課次 27 後 60 分鐘完成部署前檢查,課次 28 再正式部署、跨裝置驗收與展示;格式通過不等於已驗真。
LEARNING GOALS
用無痕視窗與他人裝置開啟自己的 HTTPS 網址。
提供 repo 中存在的 commit,讓驗收者比對線上內容。
以安全 DOM 產生 60 秒草稿,再完成人工驗收與展示。
PROBLEM & ANALOGY
第 27 章 mock queue 歸零只證明模擬復原流程;本章才處理真實部署。Production deploy 是正式開門、URL 是店址、commit 是施工版本、deploy log 是施工紀錄、rollback 是先回到可用版本。
本章要解決:deploy success、網址格式正確與功能驗收是三個不同層級,不能用工具綠字互相取代。
結業邊界:沒有驗收者實際開站、查 commit、看手機操作,就只能標記待補驗。
SCOPE
HTTPS、拒絕 localhost/example、7–40 位 SHA、描述長度與自我勾選。
URL 是否本人作品、commit 是否存在且對版、手機是否真的操作。
自訂網域 DNS 細節、正式監控與完整 CI/CD。
CORE IDEAS
index.html;deploy success 不保證功能成功。DEBUGGING & SECURITY
課堂刻意錯誤:拖入不含根目錄 index.html 的上層資料夾;或使用大小寫不同的 CSS 路徑,造成本機正常、線上 404。
createElement()、textContent,不得產生 img 或執行。先查:看 deploy root、deploy log 與線上 Network 404,再比對檔名大小寫。
先查:在無痕視窗由他人開 URL,確認內容、功能與版本。
先查:輸入 XSS 字串,確認使用 createElement 與 textContent。
PRACTICE CONTRACT
檔案:script.js
位置:isProductionUrl()
結果:拒絕 example.com、localhost 與非 HTTPS 網址
檔案:script.js
位置:collectEvidence()
結果:拒絕空白或過短 commit,並列出待修格式
檔案:script.js
位置:buildShowcase()
結果:以 textContent 與 createElement 產生草稿,明列仍待人工驗收
EVIDENCE
驗收者在 ______ 開啟 Production URL ______;commit ______ 存在於 history;手機用 ______ 完成 ______。
只有 URL、版本、功能與手機三類人工證據齊全才可結業;不要公開 token 或私人資料。
格式預檢通過後,驗收者必須留下姓名、時間與一項實際觀察;工具畫面不得取代簽核。
結業:三項人工證據齊全才算完成;只有格式預檢者列入待補驗。