-
Notifications
You must be signed in to change notification settings - Fork 6
生成預覽
karbuncle edited this page Apr 6, 2019
·
1 revision
PR 的時候,就算代碼看起來沒問題,實質還是很可能存在其他排版問題。鑑於大多數編篡者都是直接在 GitHub 編輯文字,甚少預先在本地觀看過效果,所以在預覽功能還不存在的時候,往往合併並刊登到主站後才發現問題,十分不便。現在某些 PR 將自動生成預覽站,方便編篡者觀看效果和工程團隊檢查問題。
與主站一樣,預覽站是寄存在 GitHub Pages 上,網址為 https://preview.puyo.tw。若同時有多個 PR,每個符合條件的 PR 皆有預覽,以 PR 號碼區分。當 PR 被閉鎖,所屬的預覽文件也隨之被清除。
不是所有 PR 皆會生成預覽。發佈到預覽站需要 push 權限,方能發佈到到預覽站,也就是需要認證,而認證碼乃經加密存放在 Travis CI 端,編譯的時候通過環境變數,從腳本存取。可是,Travis CI 在編譯網站時執行的腳本,亦可隨意被任何人修改並使用 PR 執行。也就是說,這些加密過的金鑰理論上可透過修改腳本來竊取。因此,基於安全理由,Travis CI 在編譯外來 PR 的時候,環境變數中不提供這些機密資料。
換句話說,外來的 PR 雖然能觸發 Travis CI 編譯程序編譯網站,但不會將網站發佈至預覽站。所謂內部 PR,是指 PR 中代碼來自同一 repository 的其他分枝。這些 PR 有權存取機密資料,是因為有權 push 到該 repository 的成員,應該不會想竊取這些資料⋯⋯吧!
每當預覽生成成功,機器人將把網址張貼到 PR。若 PR 不符合條件,或有編譯錯誤的時候,預覽將不能生成,機器人也不會張貼網址。