The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

如何讓 Node.js 應用程式在 GitHub Action 大幅提昇 CI/CD 執行效率

我手邊有個 Next.js 的應用程式,在設定 GitHub Action 的 CI/CD 自動部署到 Azure Web App 的過程,在 CI 的 actions/upload-artifact@v2 這個步驟花費了超級大量的時間上傳 node_modules 資料夾中的檔案,實在是太沒效率了。因此我改在上傳前壓縮整個目錄,結果整體 CI/CD 的時間直接從 26m 34s 降到 8m 58s 之多,部署效率大幅提升。今天這篇文章我就來說說我的寫法。

... 繼續閱讀 ...

PowerShell 的 Get-ChildItem 需注意 -Include, -Path 與 Reparse Points 地雷

我一直覺得 Windows PowerShell 是一個讓人又愛又恨的命令列執行環境,其強型別的優點確實是好的讓人無法拒絕,但其執行環境的複雜度、版本相容性與各種 Cmdlet 的奇葩設計,每次遇到也都是讓人心幹神疑心曠神怡,不免嘖嘖稱奇。今天我就來分享一個昨天寫文章時遇到的神奇狀況,也就是我們常用的 Get-ChildItem cmdlet 需注意 -Path-Include-Recurse 的各種用法組合,以及一個 Reparse Points 的問題。

... 繼續閱讀 ...

遷移容器映像(Container Image)到另一台主機的各種作法

要遷移 Container Image 到另一台主機的方法很多,最簡單的就是自己架設 Container Registry 或使用雲端的 Container Registry 服務,只要把本機的 image 推送到遠端,就可以到另外一台電腦下載。但如果只是同事之間要遷移 Container Image 而已,或是在企業完全斷網(air-gapped)的環境下要傳輸檔案到另一台電腦,這時就有好幾種作法可以用。本篇文章將分享幾種常見的情境,告訴你怎樣可以順利的移轉容器或容器映像。

... 繼續閱讀 ...

直接將 T-SQL 命令透過 STDIN 的方式傳入 SQL Server Linux 容器執行的方法

我先前寫過兩篇文章,一篇是 使用 Docker 執行 SQL Server on Linux 容器之常用工具與命令 分享各種常見的執行命令,另一篇則是 深入剖析 docker run 與 docker exec 的 -i 與 -t 技術細節 幫助我更加理解 Docker 處理 STDIN 與 Virtual Terminal (VT) 之間的關係。這讓我連結到一個長久以來希望被微軟實現的需求,如果我想直接透過 STDIN 將 T-SQL 傳入 SQL Server on Linux 容器執行,不想先把本機的 T-SQL 檔案複製進去,那該如何處理?想不到還真的給我研究出方法了!

... 繼續閱讀 ...

使用 Azure Developer CLI 改善 Azure 開發人員的整體開發體驗 (DX)

Azure Developer CLI (azd) 是一套以開發者為中心思考的命令列工具,專門用來建立可以部署到 Azure 的雲端應用程式。他提供一組命令可以幫助你在開發專案時,可以在專案範本、設定 CI/CD、整合開發工具(IDE)之間擁有一致的開發體驗,而且可以大幅降低 Azure 部署的進入門檻。這套工具還在預覽階段,專案範本很少,不過感覺很有發展潛力,今天這篇文章,我就來帶大家走一遍這套工具的使用過程。

... 繼續閱讀 ...