跳到主要內容

發表文章

目前顯示的是 3月, 2019的文章

[Maven] 增加建構 (build) 過程的資訊到 Manifest 中

自動產生建構相關的資訊 在部署到伺服器後,有時會弄不清楚這個到底是根據哪一個 commit 發布的、何時發布的、某個函示庫使用哪個版本,或是 不想一直修改版號,想要用發布時間代替版號 頻繁的部署到伺服器,甚至部署到不同的伺服器,你想知道目前這個伺服器上目前到底是哪一版、或執行哪個 commit 的 code 這時你可以把建構過程的資訊加入 manifest 中,再由程式讀出來顯示在適合的地方。 用 buildnumber 產生 git commit, git 分支 (branch) 等資訊 < plugin > < groupId > org.codehaus.mojo </ groupId > < artifactId > buildnumber-maven-plugin </ artifactId > < version > 1.4 </ version > < executions > < execution > < goals > < goal > create </ goal > </ goals > </ execution > </ executions > < configuration > < revisionOnScmFailure > 0 </ revisionOnScmFailure > < useLastCommittedRevision > true </ useLastCommittedRevision > </ configuration > </ plugin > 用 build-helper 產生台灣時間 (GMT+8)。因為 project.build.timestamp 是 UTC+0 時間。 < plugin > < groupId > o

testcafe 除錯

某次用 testcafe 測試時,呼叫某個 library 的函數後,整個瀏覽器就沒反應,也無錯誤訊息,完全無法得知發生何事。 這時只好追蹤進該函數才能知道發生何事,以下兩個參數可以啟用 node.js server 端的除錯器: testcafe --inspect --debug-brk chrome ./test.ts 參考 All the tricks that help you debug TestCafe tests 只要在程式碼中寫下 debugger; 該除錯器就會幫你停在那ㄧ行,接下來你就可單步執行去找問題。 最後發現是 Promise 中的 lambda function 內有錯誤: fs.copyFileSync 是 undefined,因為從 node 8.5.0 之後才存在該函數。 後來發現這兩個參數其實是 node.js 的除錯參數,看來 testcafe 本身也是執行 node.js。