今天在公司的 Azure DevOps Services 組織加入了一個 Mend Bolt 擴充套件,這套免費工具可以掃描原始碼中所使用到的開放原始碼套件,告訴你哪些套件的版本有弱點、該升級到什麼版本、還會跟你說哪些套件的授權有風險,這些功能提供的資訊對提升軟體專案的安全性很有幫助,這篇文章我就來介紹這個工具。
... 繼續閱讀 ...
今天在公司有位小伙伴問我說:「保哥,公司最近接到一個維護案,我拿到 Source Code 的時候都看不到 *.csproj 專案檔或 *.sln 方案檔耶,這樣怎麼用 Visual Studio 2022 開發?」我說:「你就是太年輕了,才不知道有 ASP.NET Web Site Project 的存在,你只碰過 ASP.NET Web Application Project 而已。」我在指導完他如何開啟與將 ASP.NET Web Site Project 加入版控後(很多雷),就順手把 CI Pipelines 設定起來,這篇章我就來說說如何對 ASP.NET Web Site Project 進行自動建置。
... 繼續閱讀 ...
最近發現一個三年前的一個 ASP.NET Web API 專案沒有設定 CI 自動建置,在設定的過程中發現無法建置方案 (Build Solution),錯誤訊息是找不到 .NET Framework 4.5 參考組件,但我的專案明明是 .NET Framework 4.8 了啊,經過一番查找之後,才發現原來是資料庫專案(Database Project)搞的鬼,這篇文章我就來說說這個問題的來龍去脈與解法。
... 繼續閱讀 ...
昨天有個五年前的專案,由於正式環境出了一點狀況想要重新部署,但卻發現 CI 已經無法正常執行,不是版本不對就是套件異常,弄了好幾個小時才搞定。這篇文章我想分享一下這次處理的經驗與心得分享。
... 繼續閱讀 ...
我們在 Azure Pipelines 設定變數(Variables)的時候,預設所有變數都會成為每個 Steps 中的預設環境變數,可以直接透過環境變數取用該變數。不過,當你把變數加上鎖頭(Lock)變成了「安全變數」的話,預設環境變數就看不到了,這時該怎麼辦呢?這篇文章告訴你!
... 繼續閱讀 ...
我們有個大型的 Angular 專案,原本在 Azure Pipelines 的 CI 都很順利,但是一個月前開始變的不穩定,常常會掛掉,而掛掉的原因是「記憶體不足」造成的。本篇文章我打算分享本次問題的 Log 內容,並提供一個解決方法。
... 繼續閱讀 ...
我經常在企業內訓分享 Azure Boards 的專案管理心法,它是一套極其強大的專案管理工具,只要你能突破其門檻,將可有效的掌握專案進度,大幅提昇專案透明度,同時也能減輕 PM 的工作負擔。我們在一個參與人數多達 30 人的專案時,就開始用到了 Teams 與 Areas 的功能與概念,這篇文章我就來分享 Iterations、Areas 與 Teams 這三個概念的差異之處。
... 繼續閱讀 ...
上周我在一家公司進行 Azure Pipelines 的企業內訓,在示範在地端架設 Pipeline Agent 的時候,直接就裝在我的 Windows 10 筆電上,過程也都順利的讓 Agent 上線,也可以把 Pipeline 的 Job 排送到這台執行。不過,在跑 Pipeline 的時候卻出現了一個詭異的錯誤訊息,我最後還是去翻出 Azure Pipelines Tasks 的 CmdLineV2 Task 原始碼才得知真相。今天這篇文章我就來說說這個鮮為人知的地雷!
... 繼續閱讀 ...
我先前寫過兩篇文章,一篇是 使用 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 檔案複製進去,那該如何處理?想不到還真的給我研究出方法了!
... 繼續閱讀 ...