The Will Will Web

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

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

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

... 繼續閱讀 ...

如何透過 PowerShell 自動寫入執行檔路徑到 PATH 使用者環境變數

今天看到微軟推出 Azure Developer CLI 工具 (預覽版) 的消息,便立即安裝起來玩看看,而在安裝的過程中有發現他有用 PowerShell 寫入 PATH 環境變數,我就把安裝程式解析了一下,發現有一段 Code Snippet 相當實用,以後寫安裝程式的時候就可以直接沿用了。

... 繼續閱讀 ...

如何在 .NET 透過 nuget.config 自訂 NuGet 套件來源

有時候我們會希望從本機硬碟安裝 NuGet 套件,有時候則是想要安裝公司內部發行的 NuGet 套件,我發現許多人都會透過 Visual Studio 去調整全域的 nuget.config 設定檔,但這樣很容易造成你在開啟其他不同專案的時候會無法成功還原套件的情況。另一方面,我們在 CI 的環境中,若需要指定自訂的 NuGet 套件來源,通常也都是透過建立 nuget.config 的方式來指定。這篇文章我將來說明如何在方案或專案中建立 nuget.config 檔案,並將該檔案加入到版控之中。

... 繼續閱讀 ...

介紹好用工具:mssql-scripter (自動將完整資料庫匯出成 T-SQL 的神器)

遷移 SQL Server 資料庫是一件感覺好像很簡單,但做起來可能會很麻煩的工作。其實透過 SSMS 就可以做到很多種不同的資料庫遷移方法,但我想找一個能夠更方便的方式,透過命令列的方式自動化整個遷移過程,最近我找到了這個 mssql-scripter 工具,完全可以符合我的需求。這篇文章我就來說說我的應用情境,以及 mssql-scripter 工具的使用方式。

... 繼續閱讀 ...

如何在 Windows 安裝 Gitea 源碼版控系統與 PostgreSQL 14 資料庫

Gitea 是一套功能相當完整卻又非常輕量的 Git 源碼版控與議題追蹤系統,我在這幾年也幫好幾家公司安裝過,基本上在 Windows 上面安裝 Gitea 的過程十分容易,只要幾個命令就可以安裝到好,但是若真的要一次安裝到好,其實還是有一些門檻,畢竟網路上的資料太多太亂,這篇文章我將分享我的安裝過程,基本上照著做應該都可以順利的安裝到好。

... 繼續閱讀 ...

使用 Windows PowerShell 輸出多行文字應注意的斷行陷阱

我今天遇到了一個棘手問題,原本想透過 PowerShell 寫入一個多行的文字,並放入 Azure Pipelines 執行。這樣的需求我寫過很多次了,不過當下的我突然想不起來確切的語法,所以上網 Google 找到了 PowerShell Multiline String 這篇文章,看到了一個解決方案,當下沒有多想,複製貼上就套用了,而且測試過確實有效,接著就是一連串的鬼打牆,浪費了寶貴的半小時生命。

... 繼續閱讀 ...

如何以 Guest 身份將 Azure 的 Service Principal (服務主體) 加入角色指派

最近加入到一個客戶的 Azure 訂用帳戶設定 CI/CD,在做這件事情之前,當然是先建立好 Service Principal (服務主體),然後才進行角色指派,讓該服務主體擁有必要的權限才能進行部署。不過建立完成後才發現,我忘記將 Storage account (儲存體帳號) 的 Storage Blob Data Contributor 角色指派給我建立好的 Service Principal (服務主體),以致於我無法透過 AzCopy 複製檔案進 Blob 容器中。最悲劇的地方,就是我的 Guest 身份竟然無法讀取 Service Principal (服務主體) 的任何資訊,導致我無法順利指派角色,這篇文章我就來說說我的最終解法!

... 繼續閱讀 ...

在 Azure 實現 GitOps 的起手式:使用 Bicep 部署 Web 應用程式

我經常需要在 Azure 手動建立許多測試站台,雖然說設定上並沒有很複雜,但是時間一久,累積出將近百來個 Web App 也是蠻難維護的,而且 組態漂移 (Configuration Drift) 的問題也會日趨嚴重,久而久之就不知道服務到底是怎樣設定出來的了。近幾年很夯的 GitOps 觀念興起,讓你可以使用 Git 管理基礎架構的所有設定,用應用程式開發的流程來管理維運的基礎架構,提升基礎架構的可維護性。本篇文章我就簡介一下 Azure 專用的 Bicep 語言,教你如何利用 Bicep 實現 Azure 雲端平台的 GitOps 架構。

... 繼續閱讀 ...

錯誤的 HintPath 也可以在 Visual Studio 中建置,但 CI 的時候可能不行

我在幫一個客戶 Code Review 並重構專案的時候,發現他們的專案在 Visual Studio 2019 都可以順利的建置專案,但是透過 Azure Pipelines 使用 MSBuild 建置卻會編譯失敗,錯誤訊息非常不清楚,真的是查了很久才想通問題的主因在哪裡,我覺得值得寫篇文章記錄一下。

... 繼續閱讀 ...