發布錯誤現在用白話說明發生了什麼
Mythex 發布失敗時,對話框現在會用一句白話說明發生了什麼事:建置失敗、你的應用程式在啟動後停止、應用程式未能啟動、檔案太大,或我們這邊發生了問題。同時它會提供 Fix with AI 和 Try again。建置與你的應用程式的原始輸出仍然會送到代理,所以 Fix with AI 可以讀取它並修正專案,而你不再需要自己去讀。
有哪些改變
一句你可以採取行動的說明
現在每個失敗的發布都有一個類型,這個類型是在失敗的那一刻,根據我們當下掌握的事實決定的:哪個步驟失敗、應用程式的機器是否回報了當機、它是否曾經開始接受連線。而不是事後去比對錯誤文字。每種類型都有自己的訊息:
| 你看到的 | 代表的意思 |
|---|---|
| 「建置失敗。」 | 你專案的建置指令或 Dockerfile 無法建置。 |
| 「你的應用程式在啟動後立即停止。」 | 它已發布,但隨後就結束或不斷重新啟動。 |
| 「你的應用程式在發布後沒有啟動。」 | 它已發布,但從未開始接受連線。 |
| 「這個檔案太大」/檔案過多 | 靜態網站超過了每個檔案的大小或檔案數量限制。訊息會列出這些檔案。 |
| 「此連結名稱無法用於發布。」 | 更改連結名稱後再發布;你的程式碼沒有問題。 |
| 「發布忙碌中,請稍候」 | 你的應用程式沒有問題。幾分鐘後再發布一次。 |
| 「……我們這邊的問題,不在你的應用程式中。」 | 這是我們要處理的。幾分鐘後再發布一次。 |
每次失敗都有 Fix with AI
每次失敗都會顯示 Fix with AI 和 Try again。當你使用 Fix with AI 時,代理會私下在它自己的上下文中收到失敗的類型,以及完整的建置或應用程式輸出。如果你的應用程式有問題,它會修正;如果沒有問題(例如發布忙碌中,或我們這邊的問題),它可以直接重新發布。你不需要去判斷這是哪一種失敗。
上線後的問題
發布可能成功,而應用程式在幾分鐘後才失敗。Mythex 會定期檢查已發布的應用程式。如果一個上線中的應用程式持續當機,或仍在執行卻停止接受連線,發布會被標記為失敗,你會收到一封郵件,專案也會顯示該訊息以及 Fix with AI。應用程式所印出的內容會被保存,供代理讀取。
上傳前檢查檔案大小
對於靜態網站,每個檔案的大小以及檔案總數,都會在任何東西被上傳前先檢查。如果有超過限制的,你會收到一則訊息,列出所有太大的檔案,而不是在上傳到一半時才失敗。
為什麼要做這個
過去,失敗的發布會顯示發布相關工具所印出的任何文字。在九月下旬的某一週,大多數失敗都顯示了建置工具的文字,而那些其實是我們這邊要處理的內容:帳單聯絡人、內部版本號、登錄路徑、儲存錯誤。Fix with AI 接著會把同樣的文字貼進對話。人們被要求去除錯我們的基礎設施。
有些內容也純粹是錯的。一個從未在其連接埠上監聽的應用程式,被回報為「我們這邊的問題」,但真正的修正在應用程式裡。一個超過大小限制的靜態檔案也被以同樣方式回報,而重新發布永遠不可能成功。
另外,Mythex 中每個對失敗有反應的部分(對話框、通知、Fix with AI、我們自己的警示)過去都是靠比對錯誤文字中的字詞,來判斷發生了什麼。只要措辭一改,就會失效。現在,類型會在失敗發生的地方被記錄下來,其他所有部分都讀取這個類型。
我們在順便處理時,也把同樣的規則套用到其他錯誤上:
- 對話。 如果在回覆串流時連線中斷,你現在會看到我們的句子,而不是瀏覽器的「Load failed」或「Failed to fetch」。
- 自訂網域。 有關購買或連接網域的訊息,現在會依據回應的狀態與代碼來挑選,而不是轉述網域供應商自己的句子。
- 圖片生成。 卡片顯示的是我們的訊息;代理則會拿到服務的詳細資訊。
如何使用
- 照常使用 Publish 按鈕發布。
- 如果失敗,請閱讀對話框中的一行訊息。
- 點選 Fix with AI。代理會讀取建置輸出或你的應用程式記錄,修正有問題的地方,如果應用程式本身不需要修正,就重新發布。
- 或者點選 Try again,以相同版本再次發布。對於「忙碌中」與「我們這邊的問題」,這是正確的選擇。
- 如果訊息與連結名稱有關,請在重新發布前先更改連結名稱。遇到其他任何錯誤,請保留相同的名稱。
限制
- 有些失敗會顯示不同的按鈕:連結名稱被使用時,會建議其他名稱;點數用完時,會提供補充點數的方式。
- 靜態網站每個檔案的限制約為 25 至 30 MB(依網站類型而定),最多 20,000 個檔案。較大的檔案最好保存在儲存空間中,再以連結引用。
- 這項變更之前的失敗發布沒有類型,因此會顯示一行中性的說明,而不是具體原因。
- 如果「我們這邊的問題」一直出現,請連同專案 ID 與連結名稱聯絡支援。
所有訊息的完整清單,以及每個訊息該如何處理,都在發布疑難排解中。如果你正在手動修正一個頑固的應用程式,我們的指南如何對 AI 建置的應用程式除錯會逐步說明。至於你重新發布時上線中的網站會發生什麼事,請參閱你的已發布應用程式現在在重新發布時仍保持上線。